У меня проблема с транспонированием моего sql-запроса в orm.
Что ж, это мой sql-запрос:
SELECT DISTINCT accommodation.id from accommodation
LEFT JOIN product on product.accommodation_id=accommodation.id
LEFT JOIN date on date.product_id = product.id
WHERE date.begin> '2010-08-13';
Так что я хочу все варианты размещения на период без дублирования..
Мои модели такие:
class Accommodation(models.Model):
...
class Product(models.Model):
...
accommodation = models.ForeignKey(accommodation)
class Date(models.Model):
...
begin = models.DateField()
product = models.ForeignKey(Product)
На данный момент я делаю это:
dates = Date.objects.filter(begin__gte=values['start_day'],
...)
...
accommodations_dict = {}
for date in dates : accommodations_dict[date.product.accommodation.slug] = True
accommodations = Accommodation.objects.filter(slug__in=accommodations_dict.keys())
Ну, это работает, но медленно, у меня естьмного свиданий.
Так что я думаю, что я могу получить эти договоренности с sql, но я не знаю как?
если у вас есть идея, спасибо.