这是一个用例:
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模型,以便用户需要在给定的一组模型字段中填写至少一个可以保存实例。我认为解决方案会更清晰。
谢谢!
答案 0 :(得分:1)
无法在模型级别完成,但可以在数据库级别添加可以强制执行此操作的约束。
答案 1 :(得分:1)
从Django 1.2开始,您可以使用模型的clean()方法进行此类检查。 https://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#django.db.models.Model.clean