首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在Django模型中拥有类似于口述的字段?

有没有办法在Django模型中拥有类似于口述的字段?
EN

Stack Overflow用户
提问于 2017-04-10 19:01:31
回答 4查看 63关注 0票数 1

假设,我正在制作一个电影评分应用程序。登录的用户应该能够对电影进行星级评分(范围在1到5之间)。

我想要快速访问所有评价者的姓名以及他们的评分。如果用户再次对电影进行评分,则应更新评分。同时,如果用户决定撤销他的评分,即提供零评分,我想从字段中删除该条目。

我相信字典将是实现这一目标的最佳选择。然而,我对建议持开放态度。

我也想让用户看到所有的电影,他/她已经评级与评级。

EN

回答 4

Stack Overflow用户

发布于 2017-04-10 19:21:43

您应该在用户模型和投票模型之间创建一个ForeignKey字段。为了只允许每个用户每部电影进行一次投票,您可能希望在投票模型上创建一个惟一的键约束,而不是用户and和movieid。

然后,投票应该包含与电影的关系和评级。如果用户撤回了他的投票,您可以将其从数据库中删除。

使用字典会给你带来问题,因为你会有多部电影。

为了提高计算投票的速度和性能,您可能希望查看一下缓存,简单地缓存投票的数量,并在用户每次在特定电影上添加/撤回投票时更新投票数量。

票数 2
EN

Stack Overflow用户

发布于 2017-04-10 19:06:12

您可以对django ORM使用: update_or_create()方法。https://docs.djangoproject.com/en/1.10/ref/models/querysets/#update-or-create

票数 0
EN

Stack Overflow用户

发布于 2017-04-10 19:11:52

如果您使用的数据库是Postgres,则可以使用JSONField

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43321447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档