Передача поля в distinct() в Django
У меня есть веб-приложение Django, использующее MYSQL.
model.py
class CourseInfo(TimeStampedModel):
code = models.CharField(max_length=20, db_index=True)
title = models.CharField(max_length=190)
discipline_code = models.CharField(max_length=20, blank=True, null=True)
pattern = models.CharField(max_length=120, choices=PRESENTATION_PATTERN, blank=True, null=True,
help_text="Presentation Pattern")
Я хочу добиться такого фильтра:
query_results_2 = courseInfo.objects.filter(discipline_id=id).values('discipline_code', 'code', 'title', 'pattern').distinct('discipline_code', 'code')
Но похоже, что в mysql, distinct() не может иметь параметров.
Как я могу достичь этой функции?---- получить 'discipline_code', 'code', поля 'title' и 'pattern', но использовать только 'discipline_code', 'code' для фильтра distinct.
Поскольку, как вы знаете, MYSQL не позволяет различать несколько параметров... Вы можете,
1 создайте несколько наборов запросов и соедините их в цепочку, что хоть и не рекомендуется, но делает свою работу
2 Выполнение необработанных запросов , Выполнение необработанных запросов Django