Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 向Django外键添加多个值_Python_Django_Django Models_Foreign Keys_Django Admin - Fatal编程技术网

Python 向Django外键添加多个值

Python 向Django外键添加多个值,python,django,django-models,foreign-keys,django-admin,Python,Django,Django Models,Foreign Keys,Django Admin,我有以下模型结构: class Answer(models.Model): id = models.IntegerField(primary_key=True) answer_text = models.CharField(max_length=150) def __str__(self): return self.answer_text class Question(models.Model): question_text = models.

我有以下模型结构:

class Answer(models.Model):
    id = models.IntegerField(primary_key=True)
    answer_text = models.CharField(max_length=150)

    def __str__(self):
        return self.answer_text

class Question(models.Model):
    question_text = models.CharField(max_length=150)
    choices = models.ForeignKey(Answer, on_delete=models.CASCADE,
                                related_name='choices')
    answer = models.OneToOneField(Answer, on_delete=models.CASCADE)

    def __str__(self):
        return self.question_text
我已经在admin上注册了这两个模型。但是,当我试图在管理中为一个问题添加多个选项时,它会列出任何其他答案


请参阅附带的屏幕截图。我无法为一个问题添加多个选项。当我单击绿色+按钮时,它不会列出所有可能的答案

您的外键转错了方向。定义字段的模型是一对多关系的多方面

对于有多个答案的问题,FK应该以指向问题的答案为基础


然后,您可以使用管理员的内联功能在同一页面上定义多个答案作为问题。

您的外键是错误的。定义字段的模型是一对多关系的多方面

对于有多个答案的问题,FK应该以指向问题的答案为基础

然后,您可以使用管理员的内联功能在同一页面上定义多个答案作为问题。

您可以在这种情况下使用。这允许您同时将多个选项绑定到不同的问题:

choices = models.ManyToManyField(Answer, related_name='choices')
在这种情况下,您可以使用。这允许您同时将多个选项绑定到不同的问题:

choices = models.ManyToManyField(Answer, related_name='choices')

对不起,我没听清楚。问题是单面的,答案是多面的吗?如果你想要一个问题有多个答案,那么是的。关键是,将ForeignKey字段移动到答案模型。我希望一个问题有多个答案。所以外键总是在很多方面定义的?或者我怎么确定?我不知道你为什么还对此感到困惑。一个FK指向一个项目,所以生活在多个方面。对不起,我没有明白。问题是单面的,答案是多面的吗?如果你想要一个问题有多个答案,那么是的。关键是,将ForeignKey字段移动到答案模型。我希望一个问题有多个答案。所以外键总是在很多方面定义的?或者我怎么确定?我不知道你为什么还对此感到困惑。FK指向单个项目,因此位于多个方面。