Django Admin. Make custom fields from custom form in ModelForm readonly.

40 views
Skip to first unread message

Maxven SkiLaren

unread,
Jun 11, 2020, 6:35:01 AM6/11/20
to Django users
I have such admin code:


class SomeModelAdminForm(forms.ModelForm):
    custom_field1
= forms.CharField(...)
    custom_field2
= forms.IntegerField(...)


class SomeModelAdmin(admin.ModelAdmin):

    fields
= ...
    readonly_fields
= ...

    form
= SomeModelAdminForm

   
def get_readonly_fields(self, request, obj=None):
        ro
= super(ProductAdmin, self).get_readonly_fields(request, obj)
       
if obj:
           
if obj.some_field is None:
                ro
.append('custom_field1')
           
else:
                ro
.append('custom_field2')
       
return ro

When I access the change form page of model, I am getting error

Unable to lookup 'custom_field1' on SomeModel or SomeModelAdmin or SomeModelForm

Is it a bug or I expect wrong behaviour from this code?
Reply all
Reply to author
Forward
0 new messages