Django Получение списка элементов из одной модели и использование его для фильтрации другой

Итак, в моей модели есть 3 таблицы: house, room и item. room содержит внешний ключ к house, а item содержит внешний ключ к room. Я хочу, чтобы можно было сделать запрос по дому и получить все предметы в доме.

class room(models.Model):
    house= models.ForeignKey(house, on_delete=models.CASCADE, null=False)
    name = models.CharField(max_length=60, null=False)
    def __str__(self):
        return self.name

class house (models.Model):
    name = models.CharField(max_length=50, unique=True, null=False)  #House name, unique
    houseCode = models.CharField(max_length=5, null=False)  # house code

class item(models.Model):
    room= models.ForeignKey(room, on_delete=models.CASCADE, null=False)  # ForeignKey to room
    itemName = models.CharField(max_length=255, null=False)  # item



So I want to be able to pass in a house ID and get all the associated items in the house, grouped by rooms, so the desired return would be something like.

{
room:living room,
   items:[couch, tv]
room: bedroom,
   items:[bed, nightstand]
}

Не уверен, что мне нужно в новом сериализаторе/ представлении, чтобы иметь возможность делать это, так как все мои текущие сериализаторы/ представления содержат только модель и все поля для основных CRUD операций.

Вернуться на верх