I use this snippet when creating newforms with form_for_model and form_for_instance. Both do not have an argument that lets you filter out fields easily so I wrote this instead.
Typical use:
form_class = form_for_instance(obj, fields=ignore_fields(model_class, ['field_name1']))
1 2 3 4 5 6 7 8 9 10 | def ignore_fields(model, field_names=[]):
"""
Returns a list containing all field-names of a form, except
for the field-names in field_names. Use with form_for_*.
"""
ret = []
for field in model._meta.fields + model._meta.many_to_many:
if not (field.name in field_names):
ret.append(field.name)
return ret
|
More like this
- Mask sensitive data from logger by agusmakmun 2 weeks, 3 days ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 2 months ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 1 year, 3 months ago
- Serializer factory with Django Rest Framework by julio 1 year, 9 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 10 months ago
Comments
Please login first before commenting.