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 중국어 웹사이트의 기타 관련 기사를 참조하세요!