Django Different () не возвращает разные значения - PullRequest
0 голосов
/ 25 августа 2018

У меня есть Session модель, подобная этой:

class Session(models.Model):  
    user = models.ForeignKey(User, null=True, blank=True, on_delete=models.CASCADE, related_name="sessions")
    flavor = models.ForeignKey(Flavor, null=True, blank=True, on_delete=models.CASCADE, related_name="sessions")
    ....

И я пытаюсь выполнить запрос:

sessions = Session.objects.all().values('flavor__pk', 'user__pk').distinct()

Но когда я затем печатаю объект сессий, я получаю это:

<QuerySet [{'user__pk': 14544, 'flavor__pk': 1}, {'user__pk': 14544, 'flavor__pk': 1}, {'user__pk': None, 'flavor__pk': 30}, {'user__pk': 193, 'flavor__pk': 30}, '...(remaining elements truncated)...']>

Что, если присмотреться, первые две записи абсолютно одинаковы {'user__pk': 14544, 'flavor__pk': 1}! Разве это не должно быть отчетливым?

1 Ответ

0 голосов
/ 25 августа 2018

Я думаю, что этот код работает:

Session.objects.all().values_list('flavor__pk', 'user__pk').distinct()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...