我有三种模式:产品,用户和评论。
评论与产品和用户相关联如下:
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的新手。感谢。
答案 0 :(得分:29)
使用unique_together
确保每个用户/产品组合都是唯一的:
class Review(models.Model):
class Meta:
unique_together = ['user', 'product']
user = models.ForeignKey(User)
product = models.ForeignKey(Product)