J'ai une simple relation un à plusieurs (models.ForeignKey) entre deux de mes classes de modèle:Quering valeurs distinctes throught modèles liés
class TeacherAssignment(models.Model):
# ... some fields
year = models.CharField(max_length=4)
class LessonPlan(models.Model):
teacher_assignment = models.ForeignKey(TeacherAssignment)
# ... other fields
Je voudrais interroger ma base de données pour obtenir l'ensemble des années distinctes de TeacherAssignments liées à au moins un LessonPlan. Je suis en mesure d'obtenir cet ensemble en utilisant l'API de requête Django si j'ignore la relation à LessonPlan:
class TeacherAssignment(models.Model):
# ... model's fields
def get_years(self):
year_values = self.objects.all().values_list('year').distinct().order_by('-year')
return [yv[0] for yv in year_values if len(yv[0]) == 4]
Malheureusement, je ne sais pas comment exprimer la condition que le TeacherAssignment doit être lié à au moins un LessonPlan. Des idées comment je serais en mesure d'écrire la requête?
Merci d'avance.
merci! J'ai été capable d'écrire la bonne requête avant de lire votre réponse mais la suggestion de ModelManager est très bonne! –