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

前端之家收集整理的这篇文章主要介绍了根据另一个字段的值,在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

猜你在找的Python相关文章