@dimuska139
Backend developer

Как в Django убрать дубли?

У меня есть модель с полями area (регион), city (город), district (район). Есть и другие поля, но речь не про них. Как правильно выбрать все записи из таблицы, уникальные по этим трём полям (то, какое будет значение id, мне не важно)? .values('area', 'city', 'district').distinct() не подходит, т.к. мне нужны все столбцы таблицы, а не только те, что в values перечислены. Может можно как-то группировку сделать по этим 3-м полям, но при этом без annotate (т.к. мне не нужна агрегация)
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ответы на вопрос 2
@mkone112
Начинающий питонист.
Может использовать связку values и annotate?
Ответ написан
@RVMIRZX
Для этого в запросах нужно прописать select_related("Имя связанного поля по FOREIGN KEY") или prefetch_related("Имя связанного поля по ManyToMany").

Можно перечислить несколько связанных объектов.

Пример:

products = Product.objects.all().select_related('main_category', 'subcategory')
Ответ написан
Ваш ответ на вопрос

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

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