django admin make a field read-only when modifying obj but required when adding new obj

后端 未结 7 1556
甜味超标
甜味超标 2020-12-04 09:31

In admin I would like to disable a field when modifying object, but make it required when adding new object.

Whats the django way to go about this one?

相关标签:
7条回答
  • 2020-12-04 10:21

    You can override the admin's get_readonly_fields method:

    class MyModelAdmin(admin.ModelAdmin):
    
        def get_readonly_fields(self, request, obj=None):
            if obj: # editing an existing object
                return self.readonly_fields + ('field1', 'field2')
            return self.readonly_fields
    
    0 讨论(0)
提交回复
热议问题