날짜 범위별로 Django 쿼리 개체를 필터링하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-04 00:27:03
원래의
281명이 탐색했습니다.

How to Filter Django Query Objects by Date Range?

Django 쿼리 개체를 날짜 범위별로 필터링

Django 모델을 사용할 때 날짜 범위별로 쿼리 개체를 필터링하는 것은 일반적인 작업입니다. 이를 달성하려면 Django에 내장된 날짜 범위 기능을 활용할 수 있습니다.

질문에서 언급한 것과 유사한 모델을 고려해 보겠습니다.

<code class="python">class Sample(models.Model):
    date = fields.DateField(auto_now=False)</code>
로그인 후 복사

다음과 같은 개체를 필터링해야 한다고 가정해 보겠습니다. 2011년 1월 1일부터 2011년 1월 31일 사이의 날짜와 같이 특정 날짜 범위 내에 속합니다. 이를 수행하는 방법은 다음과 같습니다.

<code class="python">Sample.objects.filter(date__range=["2011-01-01", "2011-01-31"])</code>
로그인 후 복사

이 쿼리는 __range 조회를 사용하여 날짜를 지정합니다. 샘플 개체의 날짜 필드가 속하는 범위.

또는 개체를 월별로 필터링하려면 다음 구문을 사용할 수 있습니다.

<code class="python">Sample.objects.filter(date__year='2011', date__month='01')</code>
로그인 후 복사

이 쿼리는 모든 개체를 필터링합니다. 날짜가 2011년 1월인 개체입니다.

범위 끝 제외

위 쿼리에는 범위 끝(예: 2011년 1월 1일과 2011년 1월 31일)이 포함되어 있습니다. 첫 번째 예). 이러한 범위 끝을 제외해야 하는 경우 답변 편집에서 Bernhard Vallant가 제안한 대로 __gt(보다 큼) 및 __lt(보다 작음) 조회를 사용할 수 있습니다.

<code class="python">Sample.objects.filter(date__gt="2011-01-01", date__lt="2011-01-31")</code>
로그인 후 복사

이 쿼리 필터 날짜가 2011년 1월 1일보다 크고 2011년 1월 31일보다 작은 모든 개체는 사실상 범위 종료를 제외합니다.

위 내용은 날짜 범위별로 Django 쿼리 개체를 필터링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!