前一阵子我做了一个Model课程 . 我为它制作了几个ModelForms,它工作得非常漂亮 .
我最近不得不添加另一个可选(blank = True,null = True)字段,以便我们可以在用户之间存储一些关系数据 . 它本质上是一个推荐系统 .
问题是添加这个新字段意味着引用字段显示我没有更改ModelForms以排除它 . 通常这只意味着额外的10分钟通过并排除它们但在这种情况下,由于项目管理政策不受我的控制,我只能控制此应用程序的模型 .
我可以:
-
将字段设置为自动排除?
-
设置它使其呈现为隐藏(可接受但不完美)?
4 回答
如果您可以访问模板,则可以使用以下代码呈现隐藏字段:
而不是标准:
您可以定义自定义模型字段子类并覆盖
formfield()
方法以返回带有HiddenInput小部件的字段 . 见the documentation for custom fields .来自Using a subset of fields on the form上的文档:
虽然你提到你不能在你的案件中使用排除,但我认为其他人遇到这个答案(比如我自己,根据 Headers )可能会觉得有用 .
可以使用ModelAdmin中的
exclude
选择性地隐藏字段,这里是我正在处理的事情的片段: