我的django模型包含两个类annualReport
和annualReportAttachment
两个模型之间的关系是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
变量为空,表单始终引发该错误。
如何检查用户是否上传了至少一个文件?
答案 0 :(得分:0)
您需要确保内联模型中至少有一个表单已保存。为此,我建议利用https://code.google.com/p/wadofstuff/wiki/WadOfStuffDjangoForms
中的RequireOneFormSet类