Comment filtrer les objets Django par plage de dates ?

Susan Sarandon
Libérer: 2024-11-04 12:53:29
original
425 Les gens l'ont consulté

How to Filter Django Objects by a Date Range?

Filtrer les objets de requête par plage de dates dans Django

Lorsque vous travaillez avec des modèles Django contenant des champs de date, il devient souvent nécessaire de filtrer les objets en fonction sur une plage de dates spécifiée. Cela vous permet de récupérer uniquement les objets qui se situent dans une période de temps spécifique.

Problème :

Considérez le modèle suivant avec un champ de date :

<code class="python">class Sample(models.Model):
    date = fields.DateField(auto_now=False)</code>
Copier après la connexion

Comment filtrer les objets de ce modèle pour inclure uniquement ceux dont les dates sont comprises entre le 1er janvier 2011 et 31 janvier 2011 ?

Solution :

Pour filtrer les objets par plage de dates, utilisez le filtre de plage en combinaison avec le champ que vous souhaitez filtrer :

<code class="python">Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])</code>
Copier après la connexion

Alternative pour le filtrage mensuel :

Si il vous suffit de filtrer les objets en fonction du mois, vous pouvez utiliser la syntaxe suivante :

<code class="python">Sample.objects.filter(date__year='2011',
                      date__month='01')</code>
Copier après la connexion

Exclure les fins de plage :

Si vous souhaitez exclure le spécifié aux extrémités de la plage, pensez à utiliser les filtres gt (supérieur à) et lt (inférieur à) comme suggéré par Bernhard Vallant dans l'édition :

<code class="python">Sample.objects.filter(date__gt="2011-01-01",
                      date__lt="2011-01-31")</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!