Opened 7 years ago
Last modified 7 years ago
#28347 new New feature
Allow custom attributes for model fields
Reported by: | Tom Turner | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.11 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Someday/Maybe | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
I want to add a custom attributes to a Django model field
name = models.CharField(max_length=255, data_merge=True)
I want to do this so i can loop round my fields and see if this field is set.
for field in Project._meta.get_fields(include_parents=False, include_hidden=False): if field.extra_info.data_merge: // do something here
I haven't been the first to ask for this see https://stackoverflow.com/questions/20679057/adding-custom-attributes-to-django-model-field
I understand that you might not won't any attribute won't be good as it could hide error. So one could do
name = models.CharField(max_length=255, meta_data={'data_merge':True})
If you accept this enhancement I am happy to write a patch, test and documentation. Please let me know.
Change History (6)
comment:1 by , 7 years ago
Description: | modified (diff) |
---|
comment:2 by , 7 years ago
Description: | modified (diff) |
---|
comment:3 by , 7 years ago
Description: | modified (diff) |
---|
comment:4 by , 7 years ago
Component: | Uncategorized → Database layer (models, ORM) |
---|---|
Summary: | Adding custom attributes to django model field → Allow custom attributes for model fields |
Type: | Uncategorized → New feature |
comment:5 by , 7 years ago
I would have to write a custom field for all the different types of models that i use CharField, FloatField, ForeignKey, PositiveSmallIntegerField, IntegerField etc
comment:6 by , 7 years ago
Triage Stage: | Unreviewed → Someday/Maybe |
---|
Please write to the DevelopersMailingList to see if there's consensus. Perhaps someone will have an idea about a more elegant approach.
What's the problem with writing a custom model field? My inclination is that allowing a dictionary of arbitrary options isn't a good design as it can be used and abused for any purpose and different Django applications might choose conflicting key names for different purposes.