1
J'ai un problème pour transposer ma requête sql dans l'orm.django orm et 3 relations
Eh bien, cette ma demande 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';
donc je veux tous les logements pour une période, sans doublon.
Mes modèles sont comme ça:
class Accommodation(models.Model):
...
class Product(models.Model):
...
accommodation = models.ForeignKey(accommodation)
class Date(models.Model):
...
begin = models.DateField()
product = models.ForeignKey(Product)
Donc, pour le moment je faire:
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())
Eh bien, ça marche, mais il est lent, j'ai beaucoup de dates.
Donc, je pense que je peux obtenir ces logements avec sql, mais je ne sais pas comment? Si vous avez une idée, merci.