Я использую django orm и пытаюсь получить все значения столбца, но только если другой столбец уникален по отношению к нему.Это сложно объяснить, так что вот пример:
q | a | 1
w | s | 2
e | a | 3
q | a | 4
w | s | 5
e | a | 6
Я хотел бы получить все значения в столбце 2, но если они также имеют одинаковое значение в столбце 1, не принимайте дубликаты.Так что в этом случае я хочу получить [a, s, a].(столбец 3 служит только для того, чтобы показать, почему эти дубликаты не объединяются в первую очередь).
То, что я пробовал: Я попытался сгруппировать по значениям столбцов 1 и 2 и взятьзначение, поэтому я бы в итоге:
q |
ш |s ---> который фактически задается как [(q, a), (w, s), (e, a)]
e |
с кодом: queryset.values(col1,col2).distinct()
, но мне нужен только второй столбец, поэтому я добавил .values(col2)
.Проблема в том, что отличное применяется к результатам второго values
, а также первого, поэтому вместо получения [a, s, a] я получаю [a, s].
Я также пытался использовать.defer()
так что queryset.values(col1,col2).distinct().defer(col1)
но, видимо, вы не можете использовать .defer()
после использования .values()
.
Я не могу найти решение этой проблемы в Интернете, и сейчас я нигде не получаю никакой помощи.будет принята с благодарностью!