An easy-to-use plugin to allow optional metadata of model fields.
Compatible with django-model-utils, safedelete, etc.
Tested on Python 3+, Django 2.1+.
from django.db import models # Remove this
from model_field_meta import models, FieldMetaMixin
class MyModel(FieldMetaMixin, models.Model): # Add FieldMetaMixin
my_field = models.TextField(meta={"key": "value"})Accessing metadata:
model_obj = MyModel.objects.first()
model_obj.get_field_meta("my_field")
# {"key": "value"}Or,
MyModel.get_field_meta("my_field")
# {"key": "value"}Install from PiPy:
pip install django-model-field-metaor, if you are using Pipenv:
pipenv install django-model-field-metaIn one of my Django projects, I needed to supply extra information about our model fields.
For my purpose, help_text is too limited. Using code comments is not feasible as I need to use those information programatically.
Hence, django_model_field_meta package is created.
In my project, I use:
django-model-utilsfor itsInheritanceManager.safedeletefor itsSafeDeleteModel
So far, I haven't encounter any issue. Feel free to report if you do.
If you have questions or issues using it, please create a Github issue at: