Skip to content Skip to sidebar Skip to footer

Django Modeladmin, Readonly_fields And Boolean Fields

I've a simple model with a boolean field in it, and the related admin view: # in models.py class MyModel(models.Model): ... my_field = models.BooleanField(...) # in admin.

Solution 1:

Ok,

after some searching I've found a solution (perfectible, but a good starting point). I've simply overridden the get_form(...) model in my concretization of ModelAdmin:

defget_form(self, *args, **kwargs):

    form = super(SupplierAdmin, self).get_form(*args, **kwargs)

    for field_name inself.fake_readonly_fields:
        form.base_fields[field_name].widget.attrs["disabled"] = "disabled"return form

I renamed the list of my readonly fields to fake_readonly_fields, in order not to mess with Django readonly_fields. This works for textboxes, checkboxes and selects (I guess also for radio buttons, but I didn't verify it...). Now I'm looking for a solution for upload file inputs ...

Btw I don't know if this solution can cause "security" problems (e.g. some crafted message to the server can overcome my html-disabled fields, and pass new data to overwrite old values ...) but that's a different (still relevant) topic

Post a Comment for "Django Modeladmin, Readonly_fields And Boolean Fields"