我有一个模型 Person ,我想在管理面板中找到它。
我使用以下内容创建了 PersonAdmin :
class PersonAdmin(admin.ModelAdmin):
list_display = ["Name", "LastJob", "CurrentJob", "status"]
list_editable = ["CurrentJob"]
class Meta:
model = Person
admin.site.register(Person, PersonAdmin)
状态告诉我这个人是死了还是活着。
我希望如果状态已经死亡 - > CurrentJob不再可编辑。
您有什么建议吗?
谢谢!
答案 0 :(得分:0)
Django模型管理员为此提供了一种特殊方法:has_change_permission
。在你的情况下,它将是:
class PersonAdmin(admin.ModelAdmin):
list_display = ["Name", "LastJob", "CurrentJob", "status"]
list_editable = ["CurrentJob"]
class Meta:
model = Person
def has_change_permission(request, obj=None):
if obj:
return obj.status != 'dead'
admin.site.register(Person, PersonAdmin)