세 가지 모델이 있습니다. Question
, Person
및 Response
. 모든 사람은 질문에 대해 하나의 대답이나 응답 만 가질 수 있습니다. 그 때문에, 나는 unique_together
를 사용Django : 자동으로 새 데이터 세트를 만듭니다.
class Meta:
unique_together = (("question", "person"),)
그래서, 내 목표는 내 데이터베이스의 모든 사람으로부터 각 질문에 한 대답해야한다는 것입니다.
각 질문과 모든 사람의 관리 인터페이스에서 "동의 함"/ "동의하지 않음"/ "중립적"을 선택할 수 있습니다. 그러나 모든 질문/사람 - 쌍을 만들고 싶지 않습니다. 모든 사람을위한
- : 생성 -> 새
Response
객체를 새 질문에 나는 "/ /"동의 "설정"동의 "할 수 있음을는 나는 새 질문을 만들 경우 있음을 원하는 모든 질문에 대한
- : 나는 새로운 사람을 만드는 경우 모든 질문/사람 - 쌍에 대한 다음 관리자 interace에서 "중립
그리고 생성 -> 새개체를 새 사용자와 함께 추가하고 관리 인터페이스에서 해당 사용자의 응답을 다시 추가합니다.
그러나 새 질문이나 사람을 추가하면 모든 가능한 질문/사람 쌍이 자동으로 만들어지는 방법은 어떻게됩니까?
여기 내 모델에 대해. 도와 주셔서 정말로 고맙습니다!
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"),)