Я пытаюсь запросить все топи c сообщения. Каждому сообщению принадлежат несколько топи c. Я получил это, но я не знаю, как перейти к шаблону. Это мой код В шаблоне я получил сообщения, но не могу получить доступ к темам отдельных сообщений. Спасибо за помощь.
models.py
class Post(models.Model):
title = models.CharField(unique=True, max_length=121)
content = models.TextField()
published = models.DateField(default=timezone.now)
def __str__(self):
return self.title
class Topic(models.Model):
topic_name = models.CharField(primary_key=True,unique=True, max_length=60)
posts = models.ManyToManyField(Post)
def __str__(self):
return self.topic_name
views.py
def codinglife(request):
posts = Post.objects.filter(topic__topic_name__contains='codinglife') #Get posts belong topic 'codinglife'
context = {
'posts': Post.objects.filter(topic__topic_name__contains='codinglife')
}
# for each post get topic this post belong many topic
for post in posts:
context[post.id] = Topic.objects.filter(posts=post)
return render(request, 'site/topiclistview.html', context)
Шаблон
{% extends "site/base.html" %}
{% block content %}
{% for post in posts %}
<article class="media content-section">
<div class="media-body">
<div class="article-metadata">
<small class="text-muted">{{ post.published }}</small>
{% comment 'need to show topic her' %}
{% endcomment %}
</div>
<h2><a class="article-title" href="#">{{ post.title }}</a></h2>
<p class="article-content">{{ post.content }}</p>
</div>
</article>
{% endfor %}
{% endblock content %}