Django Admin中的动态只读字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django Admin中的动态只读字段相关的知识,希望对你有一定的参考价值。
在模型的Django Admin中,我希望所有字段都是:
- 可编辑的创作
- 其中一些更新(基于创建时的实例字段值)。
例如:
2-1。如果属性a
具有值,则对应于属性c
和b
的字段将是只读的
2-2。如果属性在创建后为空,则在更新时不应编辑
我知道对于普通形式有Field disabled
属性。
我知道我需要覆盖Admin表单,但是我没有想法,知道在表单初始化时创建或更新。
通常我使用clean()获取值,但是在这里我需要在更新时进行初始化。
答案
所以它是这样的:
- 您可以创建自定义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。
以上是关于Django Admin中的动态只读字段的主要内容,如果未能解决你的问题,请参考以下文章