1
我有一個問題,轉置我的SQL請求在orm中。django orm和3的關係
好吧,這是我的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的住宿,但我不知道如何?
如果你有一個想法, 謝謝。