Фильтрация объектов с обратной зависимостью

Я пытаюсь построить отчет: мне необходимо сперва перечислить все устройства devises, а затем отфильтровать группы в которые они входят. Проблема в том, что у меня получается обратная зависимость, то есть related_name='gpu' расположено в другой таблице, поэтому я не знаю, как отфильтровать группы. Подскажите, пожалуйста, как это делать?

P.S.: Изначально я пытался сделать наоборот, первичным сделать группы, но проблема оказалась в том, что я потерял устройства, которые не входят ни в какие группы.

devises = GasPumpingUnit.objects.all()
for device in devises:
    groups = Group.objects.filter(id_group= ... )

models.py

class Device(models.Model):
    id_devise = models.AutoField(primary_key=True)
    name_devise = models.CharField(max_length=256)

    id_station = models.ForeignKey('Station', models.DO_NOTHING, blank=True, null=True,
                              related_name='related_name_cs')

    def __str__(self):
        return self.name_devise

    class Meta:
        db_table = 'Devise'
        verbose_name = 'Агрегат'
        verbose_name_plural = 'Агрегаты'


class Group(models.Model):
    id_group = models.AutoField(primary_key=True)

    id_filial = models.ForeignKey('Filial', models.DO_NOTHING, related_name='filial')

    id_station = GroupedForeignKey(Station, "id_filial", on_delete=models.SET_NULL, null=True, related_name='cs')

    id_devise = GroupedForeignKey(Devise, "id_station", on_delete=models.SET_NULL, blank=True, null=True, related_name='gpu')

    name_group = models.CharField(max_length=256)

    def __str__(self):
        return self.name_group

    class Meta:
        db_table = 'Group'
        verbose_name = 'Группа работ'
        verbose_name_plural = 'Группы работ'
Вернуться на верх