Исключить объект while .values_list, если множественное значение - PullRequest
1 голос
/ 20 апреля 2019

В моей модели у меня есть значение 'type_name':

  class FooModel(models.Model):
       type_name = models.CharField(max_length=30)

В моем Views.py я хочу создать QuerySet с этими входными данными type_name из БД, но он не должен иметь нескольковремя того же значения в нем.

Я пробовал:

  FooModel.objects.all().values_list('type_name', flat=True)

и получаю

 <QuerySet ['X', 'X', 'X', 'Y']>

Но мне нужно:

 <QuerySet ['X', 'Y']>

1 Ответ

2 голосов
/ 20 апреля 2019

Вы можете добавить « фильтр уникальности » поверх этого (который обычно выполняется на стороне базы данных), добавив .distinct() к набору запросов:

FooModel.objects.all().values_list('type_name', flat=True)<b>.distinct()</b>

Это будетсоздать запрос, который выглядит так:

SELECT <b>DISTINCT</b> type_name
FROM app_foo_model
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...