2016-09-02 2 views
0

세 가지 모델이 있습니다. Question, PersonResponse. 모든 사람은 질문에 대해 하나의 대답이나 응답 만 가질 수 있습니다. 그 때문에, 나는 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"),) 

답변

관련 문제