Мой django проект имеет отношения многие ко многим Doctor
- Speciality
Я пытаюсь перечислить только специальности с записями врачей, чтобы позволить пользователям запрашивать назначение.
Просто сейчас у меня есть это
context['specialities'] = [s for s in Speciality.objects.all() if s.doctor_set.all()]
но это не элегантное решение. Я хочу перечислить только специальности с активными (is_active = True) докторами.
Как добавить фильтр is_active?
Обновить! ОП здесь.
[s for s in Speciality.objects.all() if s.doctor_set.filter(is_active=True)]
Это работает, но это все еще не элегантное решение. Любой хороший вопрос, который решит проблему ??
Обновлено! ОП здесь. Модель.
class Speciality(models.Model):
name = models.CharField(max_length=64)
class Doctor(models.Model):
name = models.CharField(max_length=64)
specialities = models.ManyToManyField(Speciality)
is_active = models.BooleanField(default=True)