DISTINCT ON в джанго - программирование
Подтвердить что ты не робот

DISTINCT ON в джанго

Как бы я выполнил следующий запрос:

OrderNotes.objects.filter(item=item).distinct('shared_note')

В принципе, мне нужно получить все элементы OrderNotes, отличные от shared_note. Когда я пытаюсь сделать это, я получаю:

    raise NotImplementedError('DISTINCT ON fields is not supported by this database backend')

NotImplementedError: DISTINCT ON fields is not supported by this database backend

Я использую mysql и не могу изменить db здесь. Каким будет обходной путь в джанго?

4b9b3361

Ответ 1

OrderNotes.objects.filter(item=item).values_list('shared_note', flat=True).distinct()

Ответ 2

Это лучшее, что я придумал:

>>> items, item_ids = [], []
>>> for item in OrderNotes.objects.filter(shared_note=219):
...     if item.shared_note not in item_ids:
...         items.append(item)
...         item_ids.append(item.shared_note)