下面是一个用例:
class Tweet(models.Model):
url_1 = models.CharField(max_length=140)
url_2 = models.CharField(max_length=140)
url_3 = models.CharField(max_length=140)
我希望用户为每个Tweet实例指定至少一个URL。
我知道如何在views.py中强制执行此条件,但我想知道是否有一种方法可以配置Django模型,以便在保存实例之前要求用户填写给定模型字段集中的至少一个。我认为那样会更干净。
谢谢!
这不能在模型级别完成,但是可以在数据库级别添加约束来强制执行。
从Django 1.2开始,你可以使用clean()方法来做这样的检查。https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs django.db.models.Model.clean