как получить имея инстанс группы всех учителей которые ведут уроки группы?
погугли что такое prefetch related и select related вот неплохое видео https://www.youtube.com/watch?v=5-UN4YPDDQc
вот так вот вроде работает, но похоже на костыль. lessons = Lesson.objects.filter(module__group= group_instance) teachers = list(set(Teacher.objects.filter(lesson__in=lessons))) Подскажите, пожалуйста, как правильно это сделаать?
Тут можно использовать distinct
а в целом по другому как-то можно? типо через prefetch?
А какую задачу путаешься решить?
есть модель Group, Module(fk Group), Lesson(fk Module, fk Teacher). как получить имея инстанс группы всех учителей которые ведут уроки группы?
вот я построил такой запрос b = Group.objects.prefetch_related("modules").prefetch_related("modules__lessons").get(pk=1946) онотрабатывает. Но как получить отсюда все уроки группы? подсжкаите пожалуйста, а потом получить еще уникальный список преподавателей?
ну на дистинкт я уже поменял, но вообще через prefetch реально как-то достать всех учителей группы, которые связаны через уроки в модулях группы?
вот я построил такой запрос b = Group.objects.prefetch_related("modules").prefetch_related("modules__lessons").get(pk=1946) онотрабатывает. Но как получить отсюда все уроки группы? подсжкаите пожалуйста, а потом получить еще уникальный список преподавателей?
А почему так хочется через префетч делать?
Чтобы разобраться. Он же джойнит таблицу группа, модуль, занятие, преподаватель по идее. Тоесть получить всех учителей группы должно быть не трудно
префетч, не джойнит, он делает отдельные запросы
Обсуждают сегодня