0

我正在尝试创建一个 FormSet ,其中第一个 Form 有一个额外的检查以确定是否应该考虑它。该对象非常简单:

class Entry(models.Model):
    customer = models.ForeignKey('Customer')
    description = models.CharField(max_length=512)
    start_time = models.TimeField('start time')

我在 FormSet 中有多个这些对象作为表单。但是,我在页面中使用一些 javascript 设置了 start_time 和 customer 字段。现在,当我更改其他输入表单之一时,我在空表单上收到验证错误。如果表单有一个与之关联的对象并且描述字段为空,那么有没有办法检查代码的验证,该集合应该忽略这个表单?

我已经尝试覆盖 Form 的 clean() 方法,但我找不到如何从那里检查实际的描述字段。另外,如果我确实发现这个 Form 对象应该被忽略,我如何将表单标记为“忽略我”?

还是我应该从 FormSet 本身做这个?如果是这样,self.forms 是一个不可变的 QueryDict,所以看起来我不应该修改那个。还有什么方法可以将其中一种表格标记为“忽略它”?

任何提示表示赞赏!

4

0 回答 0