web-dev-qa-db-fra.com

django filtre de date GTE et LTE

Je dois trouver des données dans un certain ensemble de paramètres, je construisant un petit système de réservation, qui permet à l'utilisateur de voir quels véhicules sont disponibles pour la réservation pour leur petit voyage Safari.

Le système contient des réservations qui ont été entrées précédemment ou effectuées précédemment par un client.

Si une réservation pickup_date = 2011-03-01 et dropoff_date = 2011-03-15 et je couronne une requête avec pickup=2011-03-09 et dropoff=2011-03-14 Dans mon point de vue comme ci-dessous, cela ne renvoie aucun résultat pour voir si une réservation dans ce délai a été faite.

vues.py

def dates(request, template_name='groups/_dates.html'):
    pickup=request.GET.get('pickup','None');
    dropoff=request.GET.get('dropoff','None');
    order = Order.objects.filter(pick_up__lte=pickup).filter(drop_off__gte=dropoff)

    context = {'order':order,}

    return render_to_response(template_name,context,
        context_instance=RequestContext(request))

Des suggestions sur la façon de faire cela? Ou devrais-je regarder une autre façon d'exécuter cette requête?

16
ApPeL

Pouvez-vous essayer ceci:

order = Order.objects.filter(pick_up**__date__**lte=pickup).filter(drop_off**__date__**gte=dropoff)

https://docs.djangoproject.com/fr/2.0/ref/models/Quiserysets/#date

1
Michel MARTIN