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 операций.