根据另一个字段的值,在Django Admin中只读一个字段

根据另一个字段的值,如何使Django Admin中的字段只读或不可编辑?

我使用了readonly_fields =(‘amount’,),但这不会解决我的问题,因为我需要根据另一个字段进行管理.

解决方法

您可以覆盖管理员的get_readonly_fields方法:

class MyAdmin(admin.ModelAdmin):

    def get_readonly_fields(self,request,obj=None):
        if obj and obj.another_field == 'cant_change_amount':
            return self.readonly_fields + ('amount',)
        return self.readonly_fields

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。