Django:如果输入其他字段,则需要填写字段

时间:2015-10-20 14:19:15

标签: django

如果用户在 video_url 字段中输入值,我会尝试使字段 video_thumbnail 成为必需,反之亦然。但如果两者都是空的,则不需要它们。

models.py

class Post(TimeStampedModel):
    video_url = models.CharField(max_length=255, blank=True)
    video_thumbnail = ResizedImageField(upload_to=file_name, storage=upload_storage, max_length=255, blank=True, null=True)

1 个答案:

答案 0 :(得分:0)

您可以覆盖保存方法,

class Post(TimeStampedModel):
    video_url = models.CharField(max_length=255, blank=True)
    video_thumbnail = ResizedImageField(upload_to=file_name, storage=upload_storage, max_length=255, blank=True, null=True)

    def save(self, *args, **kwargs):
       if not self.video_url and self.video_thumbnail == None:
          raise ValueError("The value isn't allowed")
       super(Post, self).save(*args, **kwargs)