Фильтрация по связанному объекту без копирования кода Django
У меня есть класс фильтрующий модель Video, пример строчки:
# ...
queryset = queryset.filter(genres__in=genres)
# ...
Появилась необходимость фильтровать по полям Video модель Room
class Room(models.Model):
video = models.ForeignKey(
Video, verbose_name="Видео", on_delete=models.CASCADE
)
#...
Но теперь приходится просто копировать огромный код фильтрации Video и дописывать в фильтрах "video__"
queryset = queryset.filter(video__genres__in=genres)
Есть ли способ избежать этого и сделать более гибко?
Источник: Stack Overflow на русском