gpt4 book ai didi

python - 在单个 Django 模型字段中存储两种类型的值

转载 作者:行者123 更新时间:2023-12-01 03:03:57 25 4
gpt4 key购买 nike

我正在通过创建投票应用程序来学习 django。首先,我有三个模型“用户”、“问题”和“选择”。

class User(....):
....
Questions_voted = models.ManyToManyField(Question)
....

这意味着用户可以为任意数量的问题投票。接下来是问题模型,它很简单,只存储问题文本和投票的人数。

class Question(models.Model):
question_text = models.CharField(max_length=500)
vote_count = models.IntegerField(...)

接下来是 Choices,它有一个 choice_text 并引用它所属的问题。

class Choice(models.Models):
choice_text = models.CharField(models.Model)
question = models.ForeignKey(Question,...)

现在我想存储有关用户为问题选择的选项的信息。当你想到它时就很清楚了,但由于缺乏对 django 模型中字段类型的了解,我陷入了困境。

最佳答案

我建议您更改模型架构。这里是建议的模型:

Suggested ER model

我添加了 UserVote 模型,其中包含有关 User 选择的 QuestionChoice 的信息。

from django.conf import settings

class UserVote(models.Model):
question = models.ForeignKey('Question')
choice = models.ForeignKey('Choice')
user = models.ForeignKey(settings.AUTH_USER_MODEL)

编辑:如何阅读建议的模式:User可以有许多UserVote(在Django中存在多对一关系)您只需将 ForeignKey 添加到 UserVote 即可)。每个UserVote 必须有唯一的一个问题选择。剩下的就是你的旧模式。顺便说一句,我使用了鱼尾纹符号( https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#Crow.27s_foot_notation )。

关于python - 在单个 Django 模型字段中存储两种类型的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43572250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com