Запрос Django для получения нескольких объектов GenericRelation для нескольких объектов
Мне нужно сделать довольно сложный запрос в Django для отображения некоторой информации из двух моделей. Есть модель FanGroup, где у меня есть несколько экземпляров (допустим, 5 и это фиксировано) этой модели. Каждая модель FanGroup, кроме нескольких основных сведений, содержит GenericReleation к модели Fan. Для каждого экземпляра FanGroup я могу владеть несколькими экземплярами Fan (это переменная от 1 до многих Fan, назначенных каждой FanGroup).
Модель фан-группы:
class FanGroup(models.Model):
name = models.CharField(max_length=32)
default_state = models.BooleanField(default=True)
fans = GenericRelation(Fan, related_query_name='fan_controller')
Модель вентилятора:
class Fan(models.Model):
fan_inventory_id = models.CharField(max_length=16)
manufacture = models.CharField(max_length=32)
model = models.CharField(max_length=64)
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
object_id = models.PositiveIntegerField()
content_object = GenericForeignKey('content_type', 'object_id')
Я хочу отобразить в одном представлении всех поклонников, принадлежащих FanGroup. Как объединить данные, чтобы отобразить это в одном запросе?
Я мог бы сделать это грязно, делая простые запросы к модели Fan с фильтрами к FanGroup, но это не очень динамичное решение и не очень элегантное.