Передача поля в 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

Вернуться на верх