与Django唯一的外键对

Tho*_*ril 22 django many-to-many django-models

我有三个模型:产品,用户评论.

审核与产品和用户相关联,如下所示:

class Review(models.Model):
    product = models.ForeignKey(Product)    
    user = models.ForeignKey(User)
    review_text = models.TextField()
    creation_date = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

我想允许每个用户每个产品只提交一次评论.推荐的方法是什么?通过模型,通过验证,还是其他什么?我是Django/Python的新手.谢谢.

gir*_*uid 29

用于unique_together确保每个用户/产品组合都是唯一的:

class Review(models.Model):

  class Meta:

    unique_together = ['user', 'product']

  user = models.ForeignKey(User)
  product = models.ForeignKey(Product)
Run Code Online (Sandbox Code Playgroud)