我有三个型号。 Question
,Person
和Response
。每个人只能对一个问题有一个答案或回答。因此,我使用unique_together
:
class Meta:
unique_together = (("question", "person"),)
所以,我的目标是每个人都要向我的数据库中的每个人提出一个答案。
我希望我能在管理界面中为每个问题和每个人选择“同意”/“不同意”/“中立”。但我不想创建所有那些问题/人对。
如果我创建一个新问题,我希望如此:
Response
对象,我可以在管理界面中设置“同意”/“不同意”/“中立”,然后为每个问题/人对设置如果我创建一个新人:
Response
新对象,我将再次添加管理界面中人员的回复。但是,如果我添加新的问题或个人,我该怎么做才能自动创建所有可能的问题/人物对?
这里有您的信息我的模型。非常感谢你的帮助!
from django.db import models
class Question(models.Model):
these_title = models.CharField(max_length=40)
these_text = models.TextField(max_length=200)
class Person(models.Model):
name = models.CharField(max_length=50)
information = models.TextField(max_length=300)
website = models.URLField(blank=True)
class Response(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
person = models.ForeignKey(Person, on_delete=models.CASCADE)
possible_responses = (
(1, 'Agree'),
(0, 'Neutral'),
(2, 'Disagree'),
)
response = models.IntegerField(
choices=possible_responses,
blank=True,
null=True,
)
class Meta:
unique_together = (("question", "person"),)