New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REP11: Custom fields #2158

Closed
mkurek opened this Issue Jan 18, 2016 · 0 comments

Comments

Projects
None yet
1 participant
@mkurek
Member

mkurek commented Jan 18, 2016

Custom fields requirements (for user):

  • field could be attached to any model (BaseObject, DCA, Service etc)
  • field could have limitation on value type (ex. have to be int, string, url, bool)
  • field could have limitation on possible choices (like html's select field)
  • field could have some preconditions when it's displayed (ex. when Venture is XXX, show field YYY for DataCenterAsset, when model (or model category) is AAA show field BBB for BackOfficeAsset etc)
  • field should be easily filtered (even with Django dunder convention for nested models) in GUI and API
  • defined fields should only be "hints" for particular object (with default value filled by default) - there should be possibility to declare custom (completely, not defined anywhere) field name and value for any object
  • field could be marked as unique
  • field could been validated using regex

Development requirements:

  • integrated with django admin
  • database-agnostic
  • performance
  • not-complex (easy to extend and modify)

Possible solutions:

  • EAV
  • JSONField
  • ... ?

Inspiration / resources:

@mkurek mkurek referenced this issue Jan 18, 2016

Closed

Metadata (key-value) mechanism #1513

0 of 4 tasks complete

@mkurek mkurek added the ng label Jan 19, 2016

@mkurek mkurek changed the title from REP10: Custom fields to REP11: Custom fields Jan 19, 2016

@mkurek mkurek referenced this issue May 17, 2016

Merged

Custom fields #2426

5 of 5 tasks complete

@mkurek mkurek closed this Jun 6, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment