如果我有这个模型
class MyClass(models.Model):
number = models.IntegerField(unique=True)
file1 = models.FileField(null=True, blank=True)
file2 = models.FileField(null=True, blank=True)
file3 = models.FileField(null=True, blank=True)
我怎么能要求至少有一个FielField不空白?
像unique_together一样的东西?!
答案 0 :(得分:2)
您不能在数据库级别强制执行它,但您可以在模型验证中执行此操作:
def clean(self):
if not self.file1 and not self.file2 and not self.file3:
error_msg = 'At least one of these fields must not be empty'
raise ValidationError({
'file1': error_msg,
'file2': error_msg,
'file3': error_msg,
})