Django 的唯一外键对
Posted
技术标签:
【中文标题】Django 的唯一外键对【英文标题】:Unique foreign key pairs with Django 【发布时间】:2011-05-30 04:31:53 【问题描述】:我有三个模型:products、users和reviews。
评论与产品和用户的关联如下:
class Review(models.Model):
product = models.ForeignKey(Product)
user = models.ForeignKey(User)
review_text = models.TextField()
creation_date = models.DateTimeField(auto_now_add=True)
我希望每个用户对每个产品只提交一条评论。实现这一目标的推荐方法是什么?通过模型,通过验证,还是别的什么?我对 Django/Python 很陌生。谢谢。
【问题讨论】:
【参考方案1】:使用unique_together
确保每个用户/产品组合都是唯一的:
class Review(models.Model):
class Meta:
unique_together = ['user', 'product']
user = models.ForeignKey(User)
product = models.ForeignKey(Product)
【讨论】:
以上是关于Django 的唯一外键对的主要内容,如果未能解决你的问题,请参考以下文章