我正在做一个关于书籍的网页,你可以在那里发表评论,给书打分等等.我想知道如何以有效的方式存储关于每个用户的数据,以及用户是否:
这样,没有用户可以发布2个评论,我可以提供每个用户的体验。我甚至想限制他们的评分次数(比如每个月3次)。问题:
非常感谢您的时间,我希望有人知道!
发布于 2018-02-26 16:39:16
为了你的第一个目标:
已经发布了一本专门的书的评论
您可以创建一个新模型
class Review(models.Model):
user = models.ForeignKey(...)
book = models.ForeignKey(...)
datetime = models.DateTimeField()
... other fields like review content or score ...
class Meta:
unique_together = [
('user', 'book'),
]为了你的第二个目标:
已经给一本书打分了
您可以添加另一个模式的“评级”与类似的结构,或者您可以添加该信息到您的“评论”模型,因为一个用户只能给每本书一个评论和一个评级。
为了你的第三个目标:
我甚至想限制他们的评分次数(比如每个月3次)。
一个非常简单的方法可以是在用户配置文件中添加三个DateFields (阅读有关定制Djangos用户模型的内容),以记录每个用户最后给予评分的次数。
或者,每次用户想要进行新的评等时,您都可以查询“评级”模型,以检查自上次输入该用户以来是否有足够的时间过去。
https://stackoverflow.com/questions/48989331
复制相似问题