django - Django 内联表单集
问题描述
我有一个使用内联表单集的父表单和几个子表单。它工作正常。
根据父表单中的值,我需要检查是否提交了正确数量的子表单。
我知道我可以在覆盖 BaseInlineFormSet 时使用 self.instance.FOO 访问父表单,并且这又可以正常工作,但是我无法找到一种方法来确定已提交了多少实际表单并在其中至关重要地包含数据。
有谁知道怎么做?
非常感谢
解决方案
在 formsetclean
方法中,self.cleaned_data
将是一个字典列表 - 每个表单一个。所以你可以这样做:
class MyInlineFormSet(formsets.InlineFormSet):
def clean(self):
if len(self.cleaned_data) != self.instance.my_value:
raise forms.ValidationError('wrong number of forms')
推荐阅读
- kotlin - 如何在 Koin 中提供基类?
- postgresql - 当我不知道其名称时更改默认顺序
- git - 在子模块中使用 .gitattributes 作为合并策略
- sql-server - 循环/更新结果,直到列的总和(bigint)小于指定的数字
- javascript - 如果我在 jquery 绑定中更改,为什么 html 表的顺序不会改变?
- ios - 播放视频时如何自动跳过 youtube iOS 应用中的广告?
- if-statement - 检测到 ArrayFormula 循环依赖
- java - 如何在垂直滚动视图上使用浮动按钮?
- linux - 如何在 stderr 中忽略警告
- sql - 如何根据期间复制数据记录?