我正在尝试创建一个FormSet,其中第一个Form有一个额外的检查,以确定是否应该考虑它。对象非常简单:
class Entry(models.Model):
customer = models.ForeignKey('Customer')
description = models.CharField(max_length=512)
start_time = models.TimeField('start time')
我在FormSet中有多个这些对象作为Form。但是,我在页面中设置了一些javascript的start_time和customer字段。现在,当我更改其中一个其他条目表单时,我在空表单上得到验证错误。有没有办法检查代码验证,如果表单有一个与之关联的对象,并且描述字段为空,该集合应该忽略这个表单?
我已经尝试覆盖Form的clean()方法,但是我找不到如何从那里检查实际的描述字段。另外,如果我发现应忽略此Form对象,如何将表单标记为“忽略我”?
或者我应该从FormSet本身做到这一点?如果是这样,self.forms是一个不可变的QueryDict,所以看起来我不应该修改那个。如何将其中一个表格标记为“忽略它”?
任何提示都表示赞赏!