2010-03-26 1 views
10

Надеются, что это имеет смысл ...Django запрос, чтобы получить уникальный набор на основе значения конкретного столбца

Есть простой способ вернуть набор значений из таблицы на основе значений одной колонки бытия отчетливо уникален ? То, что я надеюсь на что-то вроде:

SegCode.query.filter(ref.unique()).only('ref') 

Это не реальный кода, но я надеялся, что там была какая-то простая функция, что там будет осуществить ...


Э.Г. Таблица может выглядеть следующим образом:

1 | abc | 123 | AAA 
2 | def | 456 | AAA 
3 | ghi | 789 | BBB 
4 | jkl | 012 | CCC 
5 | mno | 345 | CCC 
6 | pqr | 678 | CCC 
7 | stu | 901 | DDD 
8 | vwx | 234 | DDD 

Итак, я хотел бы набор, который возвращается с: [AAA, BBB, CCC, DDD]

ответ

14
SegCode.objects.values_list('ref', flat=True).distinct() 

Я думаю, что это то, что вы после этого, ваш вопрос не так уж clear

+0

Еще не пробовал ваш код, но я только что обновил дополнительную информацию, надеюсь, уточню, чего я пытаюсь выполнить. – kafuchau

+0

Хорошо, тогда, согласно вашему редактированию, мой код именно то, что вы хотите – priestc

+0

Это работает только в том случае, если мой класс SegCode является моделью Django, правильно? Что делать, если мой класс был Elixir Entity, то есть я должен был использовать Querysets для выполнения запроса? Я спрашиваю, потому что я получаю сообщение об ошибке: type object 'SegCode' не имеет атрибутов 'objects' – kafuchau