Я хочу знать, как добиться этого для очень простого случая. У меня есть объект Room с объектами, так как это внешний ключ. Рассмотрим четыре комнаты (от R1 до R4), каждая из которых подключена только к одному объекту объекта.
Предположим, что соответствующее сопоставление для комнат: R1-> F4, R2-> F1, R3-> F2, R4-> F3 (R1 - первая комната, F1 - объект, подключенный к первой комнате и т. Д.) (Все F1-F4 могут даже быть одним и тем же объектом объекта)
запрос базы данных при фильтрации возвращает объект Room (Все комнаты возвращены, упорядоченные по room_id)
Итак, я хочу знать, как запросить базу данных, отфильтровав объект «Объекты», чтобы получить Если все комнаты были подключены к одному объекту F1 , Я хочу, чтобы конечный результат был
мой файл models.py
class Room(Base):
facilities = models.ForeignKey(Facilities, on_delete=models.CASCADE)
room_type = models.ForeignKey(RoomTypes, on_delete=models.CASCADE)
price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
offer = models.DecimalField(max_digits=5, decimal_places=2, default=0.0)
description = models.TextField(null=True, blank=True)
# Facilities object that describes what all facilities are present in a room
class Facilities(Base):
storage = models.BooleanField(default=True)
locker = models.BooleanField(default=True)
tv = models.BooleanField(default=True)
bathroom = models.BooleanField(default=True)
iron_table = models.BooleanField(default=True)
balcony = models.BooleanField(default=True)
garden = models.BooleanField(default=True)
wifi = models.BooleanField(default=True)
refrigerator = models.BooleanField(default=True)
ac = models.BooleanField(default=False)
cctv = models.BooleanField(default=False)
bed = models.BooleanField(default=True)
Я хочу выбрать все объекты (которые подключены хотя бы к одному номер) и закажите их по room_id. Я хочу вернуть столько же объектов, сколько есть комнат. База данных MySql, и я использую Django -ORM для обработки всех запросов.
Другими словами, я хочу выполнить SQL Операция соединения ч / б Room and Facilities, общий столбец Идентификатор объекта в обеих таблицах, которые соединяют комнату и объект. И затем я хочу заказать результаты обслуживания, с меньшими номерами комнат, которые будут отображаться первыми.