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? Если да, то как я могу это сделать?

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