Объединение наборов запросов и отображение их в шаблоне
Я создаю приложение для блога и пытаюсь merge two querysets
и показать их в шаблоне сразу и order_by('-date')
Но он не показывает оба набора запросов, он показывает некоторые странные результаты, такие как
user_1 - title - ALL_COMMENTSALL_COMMENTSALL_COMMENTSALL_COMMENTS
models.py
class BlogPost(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=30)
date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"{self.user} - {self.title}"
class Likes(models.Model):
liker = models.ForeignKey(User, on_delete=models.CASCADE)
post_of = models.ForeignKey(BlogPost, on_delete=models.CASCADE)
views.py
def page(request,blogpost_id):
post = get_object_or_404(BlogPost, id=blogpost_id)
likes = post.likes_set.all()
ALL_RESULTS = []
for q1 in likes:
ALL_RESULTS.append(q1)
for q2 in anotherQueryset:
ALL_RESULTS.append(q2)
context = {'ALL_RESULTS':ALL_RESULTS}
return render(request, 'page.html', context}
page.html
{% for set in ALL_RESULTS %}
{{set}}
{% endfor %}
Показывает :-
user_1 - first_post - ALL_COMMENTSALL_COMMENTSALL_COMMENTSALL_COMMENTS
Что я уже пробовал? :-
- Я пробовал использовать оператор |, например :-
all_results = FIRST_LIST | SECOND_LIST
Но потом я прочитал, что это будет только работать в одной модели, но я обращаюсь к двум разным моделям.
- Так я попробовал метод chain как :-
from itertools import chain
result_list = list(chain(FIRST_LIST, SECOND_LIST))
Любая помощь будет очень признательна. Спасибо