Ich habe zwei Klasse Frage und Antwort in Modellen. Beide sind durch ForeignKey mit dem Benutzer verbunden. In einer Vorlage möchte ich alle Antworten des eingeloggten Benutzers ausdrucken. Was passiert einfach. Aber mein Problem ist Ich möchte Frage entsprechend der Antwort bekommen. Wie lautet die Abfrage, um die Frage zu bekommen? Modelle, Schablone und Ansichten below--Wie bekomme ich Qustion vom Antwortobjekt in Django?
class Question(models.Model):
title = models.CharField(max_length=200, blank=True, null=True)
description = models.TextField()
pub_date = models.DateTimeField()
user = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return self.title
class Answer(models.Model):
answer_text = models.TextField()
questions = models.ForeignKey(Question, on_delete=models.CASCADE)
user = models.ForeignKey(User, on_delete=models.CASCADE)
pub_date = models.DateTimeField()
def __str__(self):
return self.answer_text
Ansichten gegeben:
def answered_by_me(request, user_id):
user = User.objects.get(pk=user_id)
answers = user.answer_set.all()
questions = user.question_set.all()
context = {'answers': answers, 'questions': questions, 'user_id': user_id}
return render(request, template_name='ans/answered_by_me.html', context=context)
Vorlage:
{% block body %}
{{ answers }}
{% if answers %}
<ul>
{% for answer in answers %}
<li> {{ answer }}</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}