Джанго запрос к списку - PullRequest
       1

Джанго запрос к списку

7 голосов
/ 09 сентября 2010

У меня есть база данных, в которой есть записи с несколькими полями, содержащими некоторую информацию.

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

records = Record.objects.filter(fieldA='a')

recordsЯ полагаю, это объект QuerySet и содержит «список» записей.Это правильно?

Теперь, допустим, я хочу получить список значений в одном поле.

Если я сделаю это:

records = Record.objects.filter(fieldA='a').only('fieldB')

Я все еще получу набор запросов,но теперь у него есть некоторые отложенные поля.То, что я хочу, это просто список значений, которые я хотел получить, например, fieldBЯ также хочу быть в состоянии получить различные значения fieldB.Я полагаю, что я мог бы просто перебрать каждую запись, вытащить fieldB, добавить его в список, если его там еще нет, и он есть, но есть лучший способ.

Спасибо!

РЕДАКТИРОВАТЬ: Я думаю, что я ищу это

Record.objects.values_list('fieldB')

Ответы [ 2 ]

11 голосов
/ 09 сентября 2010

Да, нашел его.http://docs.djangoproject.com/en/dev/ref/models/querysets/ Вот ссылка

4 голосов
/ 19 августа 2016

Я публикую здесь комментарий Джеймс , чтобы сделать его более заметным.Это было конечно то, что я искал.

Я хотел список значений.Использование QuerySet метода .list_values() вернул список кортежей.Чтобы получить список значений, мне понадобилась опция flat=True.

Record.objects.values_list('fieldB', flat=True) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...