0

我有 django 模型由两个类annualReportannualReportAttachment

两个模型之间的关系是oneToMany。在管理表单中,我需要验证用户是否上传了至少一个文件,因此我在annualReport类中使用以下 clean 方法

def clean(self):
    attachments = annualReportAttachment.objects.filter(annualReport=self)
    if len(attachments) == 0:
        raise ValidationError("You should upload at least one file")

问题是附加文件尚未保存,因此attachments变量为空并且表单总是引发该错误。

如何检查用户是否至少上传了一个文件?

4

1 回答 1

0

您需要确保您的内联模型中至少有一个表单被保存。为此,我建议利用https://code.google.com/p/wadofstuff/wiki/WadOfStuffDjangoForms中的 RequireOneFormSet 类

于 2013-03-05T14:43:41.180 回答