本文介绍了根据另一个字段的值,在Django Admin中只读一个字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使Django Admin中的字段根据另一个字段的值只读或不可编辑?
我已经使用了 readonly_fields =('amount',)
但这不会修复我的问题,因为我需要根据另一个字段进行管理。
How to make a field in Django Admin readonly or non-editable based on the value from another field?I have used readonly_fields=('amount',)
but this wont fix my problem , as I need to manage it based on another field .
推荐答案
您可以覆盖管理员的 get_readonly_fields
方法:
You can override the admin's get_readonly_fields
method:
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
这篇关于根据另一个字段的值,在Django Admin中只读一个字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!