对于为这个特定用例设计Django模型的“正确方式”是什么,我有点困惑。
我有一些模型叫做书,用户,评级。我正在设计一款应用程序,可以让用户对书籍进行评分。
Rating与user是多对一关系,与Book是多对一关系。
class User(models.Model):
name = models.CharField(max_length=30)
class Book(models.Model):
name = models.CharField(max_length=30)
class Rating(models.Model):
user = models.ForeignKey(User,related_name=ratings)
book = models.ForeignKey(Book,related_name=ratings)
...使用这种设计,我不知道如何执行用户只能对每本书进行一次评分的规则。我也不确定这是否是为这个用例设计模型的正确方式。因此,如果我能在正确的方向上获得一些指导,它可能会帮助我在早期阶段避免设计缺陷。
提前感谢!
发布于 2011-07-12 03:15:46
您可以在评级模型上使用unique_together元选项:https://docs.djangoproject.com/en/1.3/ref/models/options/#unique-together
https://stackoverflow.com/questions/6655169
复制相似问题