как получить все сообщения User by User в Django? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть простое приложение для блога, и я хочу показать "все сообщения", отправленные пользователями, в блоках на моей домашней странице.Я имею в виду, я хочу, чтобы каждый пользователь публиковал сообщения в блоке.моя модель выглядит следующим образом:

'''
    class Post(models.Model):
        title = models.CharField(max_length=120)
        description = models.CharField(max_length=250)
        author = models.ForeignKey(settings.AUTH_USER_MODEL,default=1, 
        on_delete=models.CASCADE)
'''

Я ожидаю, что этот цикл пройдет по всем пользователям и всем созданным ими сообщениям и покажет их на моей домашней странице, но я не могу получить их ПОЛЬЗОВАТЕЛЬ от ПОЛЬЗОВАТЕЛЯ. Пожалуйста, взгляните на эту картинку Так как же мне написать свою модель или запросить базу данных, чтобы получить желаемый результат, показанный выше?Заранее спасибо

1 Ответ

0 голосов
/ 29 марта 2019

Постройте объект и передайте его шаблону.

users = Users.objects.all()
nested_posts = {}
for user in users:
    posts = user.post_set
    nested_posts[user] = posts

Тогда в вашем шаблоне:

{% for user, posts in nested_posts %}
Posts for the user "{{user}}":
{% for post in posts %}
Post:{{post.id}}, Body:{{post.body}}, Date:{{post.date}}
{% endfor %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...