@adrenalinruslan

Как получить дополнительный обьект ( QuerySet )?

К примеру, я получаю список, на кого подписан пользователь:
user = User.objects.get(id=1)
subscriptions = Subscription.objects.filter(user=user)


Возвращается:
[
    {
        "id": 1,
        "user": 1 (User object),
        "author": 2 (User object)
    }
]


Но, так же хочу, чтобы выводились все рецепты автора (author). Да, можно сделать так, но это не подходит:
recipes = subscriptions[0].author.recipes.all()

А теперь вопрос, можно ли это как то объединить на уровне запроса в базу данных? Что бы мне вернулся такой ответ:
[
    {
        "id": 1,
        "user": 1,
        "author": 2,
        "recipes": [
            {
                "id": 1,
                "name": "Name"
            }
        ]
    }
]
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ответы на вопрос 1
@pyHammer
adrenalinruslan можно сделать на уровне базы данных, но тогда вам на бекэнде придется делать группировку по пользователю, например через pandas, но на выходе вы уже будете получать не QuerySet
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы