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
- New Snippet! by Antoliny0919 4 days, 19 hours ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 2 months, 3 weeks ago
- get_object_or_none by azwdevops 6 months, 2 weeks ago
- Mask sensitive data from logger by agusmakmun 8 months, 1 week ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 10 months ago
Comments
Please login first before commenting.