Django делает внутреннее объединение, используя другое внутреннее объединение
Как я могу сделать внутренние соединения в таблицах, которые имеют один и тот же FK. Вот пример некоторых моделей:
models.py
class Property(models.Model):
name = models.CharField(blank=True, max_length=1024)
address = models.ForeignKey(Address, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
...
class Address(models.Model):
country = models.CharField(blank=True, max_length=1024)
state = models.CharField(blank=True, max_length=1024)
...
class Category(models.Model):
code = models.CharField(blank=True, max_length=1024)
location = models.CharField(blank=True, max_length=1024)
...
class Reservation(models.Model):
check_in = models.DateField(blank=True, null=True)
check_out = models.DateField(blank=True, null=True)
property = models.ForeignKey(Property, on_delete=models.CASCADE)
class Category_month_price(models.Model):
category = models.ForeignKey(Category, on_delete=models.CASCADE)
month = models.PositiveSmallIntegerField(blank=True, null=True)
Я хотел бы создать представление для category_month_price со всеми свойствами с одинаковой category_id
и проверить, нет ли у них check_in
или check_out
в периоде диапазона.
Могу ли я добиться этого, используя внутренние соединения с queryset.select_related
? Если да, то как я могу это сделать?