У меня есть пара моделей следующим образом:
class Student(models.Model):
name = models.CharField()
classes = models.ManyToManyField(Class, related_name="students")
class Class(models.Model):
nombre = models.CharField
Мне нужен такой способ, чтобы при запросе студентов в определенном классе вместо простого возврата студентов, зачисленных в этот класс, он возвращал QuerySet всех студентов, каждый с агрегированным полем, указывающим, зарегистрирован ли такой студент в этом классе, например:
[{'name':'student A', 'enrolled_in_physics':True}, {'name':'student B', 'enrolled_in_physics':False}]
Я думаю, что это может быть достигнуто через F() expressions
наряду с ExpressionWrapper
, но понятия не имею, как их реализовать; Кроме того, документация и примеры не очень удобны для новичков. Спасибо за помощь * QuerySet , такой, что позвольте мне сделать что-то вроде этого:
student_a = query[0]
student_a.name
>>>'A'
student_a.enrolled_in_physics
>>>True