在模型的Django Admin中我希望所有字段都是:
例如:
2-1。如果属性a
包含值,则属性c
和b
对应的字段只能读取
2-2。如果属性在创建后为空,则在更新时不应编辑
我知道对于普通表单,存在字段disabled
属性。
我知道我需要覆盖管理员表单,但我不知道,在表单初始化时知道是创建还是更新。
通常我使用clean()获取值,但是在这里我需要在初始化时让它们进行更新。
答案 0 :(得分:1)
所以就是这样:
您可以创建自定义FORMS,请参阅此处https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.form
之后,您可以通过覆盖get_form方法添加要使用的逻辑。见https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.get_form
但是,您需要确保您的数据库接受部分提交的数据。您可以在特定列上DROP NULL。