#python #orm #django
Добрый день, имеется queryset, нужно из него удалить дубликаты: example = models.Object.objects.values('name', 'photo__name').distinct() имеем джоин, в результате нужно получить чтобы name и photo__name не имели одинаковых значений, как это реализовать используя Django ORM ? Cпасибо!
Ответы
Ответ 1
Есть решение в лоб example = models.Object.objects.values('name', 'photo__name').extra( where=['"name" != "photo__name"']).distinct() которое генерирует примерно следующий SQL SELECT "object"."name", "photo"."photo__name" FROM "object" INNER JOIN [...] WHERE ("name" != "photo__name") ``` возможно из-за join придётся указать полные названия таблиц, например where=['"object"."name" != "photo"."photo__name"']
Комментариев нет:
Отправить комментарий