Search code examples
djangomodels

django submit answer per user


I have a text:

class QuestionText(models.Model):
    text = models.TextField()

    def __str__(self):
        return "{0}".format(self.text)

and a Answer:

class ElementShortAnswer(models.Model):
    question = models.ForeignKey(QuestionText)
    answer = models.CharField(max_length=400)

    def __str__(self):
        return "{0}".format(self.answer)

How can I add an answer per user. That is, a user ElementShortAnswer has a list of answer for each user.

Thanks in advance,


Solution

  • You need to add a User foreign key to ElementShortAnswer model and change the question field in ElementShortAnswer model to OneToOne, because every question should be answered once per user.

     from django.contrib.auth.models import User
    

    and include this line in your ElementShortAnswer class definition -

    user = models.ForeignKey(User)