комментария много комментариев (один ко многим). Когда я получаю все комментарии к комментарию, то получаю что-то типа left join: то есть так:
- comment1
- sub_comment_1
- sub_comment_2
- comment2
- sub_comment_3
- sub_comment_4
При обычном запросе Comments,objects.all() я получаю [comment1, comment2]
При аннотиции SubQuery получаю на выходе уже
[comment1(sub_comment_1), comment1(sub_comment_2), comment2(sub_comment_3), comment2(sub_comment_4)]
Далее мне надо это как-то группировать в
[comment1(sub_comment_1, sub_comment_2), comment2(sub_comment_3, sub_comment_4)]
В джанге есть какие-нибудь инструменты для этого?
делал подобное на постгрес, только удалось получить список из значений из одного поля, а не нескольких. Подойдет?
это что-то постгесс-специфичное было?
да - JSONBAgg()
хм да, прикольно. Жаль, у меня мускул планируется
там тоже что-то есть вроде, но в джанго наверно нет нужной функции
А зачем так то? Все в одной таблице, у каждой записи доп поле родитель, если нет родителя значит верхний уровень, а дальше собираешь цепочки по выборке __is_null и так далее
ну в принципе и так можно наверное... Но там тоже я с группировкой столкнусь. По сути, не уверен, что велика разница
Единстенное, что меньше SubQuery-в делать
Обсуждают сегодня