Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_model_fields(model):
- return model._meta.fields
- fields = model._meta.get_fields()
- my_field = model._meta.get_field('my_field')
- opts = model._meta
- for f in sorted(opts.fields + opts.many_to_many):
- print '%s: %s' % (f.name, f)
- >>> from django.contrib.auth.models import User
- >>> User._meta.get_fields()
- def get_model_fields(model):
- fields = {}
- options = model._meta
- for field in sorted(options.concrete_fields + options.many_to_many + options.virtual_fields):
- fields[field.name] = field
- return fields
- fields = Model._meta.fields
- In [11]: from django.contrib.auth.models import User
- In [12]: User._meta.get_fields()
- Out[12]:
- (<ManyToOneRel: admin.logentry>,
- <django.db.models.fields.AutoField: id>,
- <django.db.models.fields.CharField: password>,
- <django.db.models.fields.DateTimeField: last_login>,
- <django.db.models.fields.BooleanField: is_superuser>,
- <django.db.models.fields.CharField: username>,
- <django.db.models.fields.CharField: first_name>,
- <django.db.models.fields.CharField: last_name>,
- <django.db.models.fields.EmailField: email>,
- <django.db.models.fields.BooleanField: is_staff>,
- <django.db.models.fields.BooleanField: is_active>,
- <django.db.models.fields.DateTimeField: date_joined>,
- <django.db.models.fields.related.ManyToManyField: groups>,
- <django.db.models.fields.related.ManyToManyField: user_permissions>)
- In [13]: [field.name for field in User._meta.get_fields()]
- Out[13]:
- ['logentry',
- 'id',
- 'password',
- 'last_login',
- 'is_superuser',
- 'username',
- 'first_name',
- 'last_name',
- 'email',
- 'is_staff',
- 'is_active',
- 'date_joined',
- 'groups',
- 'user_permissions']
- class MyModelAdmin(admin.ModelAdmin):
- # extending change_view, just as an example
- def change_view(self, request, object_id=None, form_url='', extra_context=None):
- # get the model field names
- field_names = self.get_fields(request)
- # use the field names
- ...
Add Comment
Please, Sign In to add comment