068:【Django数据库】ORM查询条件详解-date、time、year、week_day等
时间: 2023-07-10 07:24:50 浏览: 111
在 Django ORM 中,可以使用一些特殊的查询条件来过滤日期和时间类型的数据。下面是一些常用的查询条件:
1. `date`:筛选出指定日期的数据。
示例代码:
```
from datetime import date
from myapp.models import MyModel
MyModel.objects.filter(date_field=date.today())
```
2. `time`:筛选出指定时间的数据。
示例代码:
```
from datetime import time
from myapp.models import MyModel
MyModel.objects.filter(time_field=time(hour=9, minute=0))
```
3. `year`:筛选出指定年份的数据。
示例代码:
```
from myapp.models import MyModel
MyModel.objects.filter(date_field__year=2021)
```
4. `month`:筛选出指定月份的数据。
示例代码:
```
from myapp.models import MyModel
MyModel.objects.filter(date_field__month=9)
```
5. `day`:筛选出指定日期的数据。
示例代码:
```
from myapp.models import MyModel
MyModel.objects.filter(date_field__day=15)
```
6. `week_day`:筛选出指定星期几的数据,星期一为1,星期天为7。
示例代码:
```
from myapp.models import MyModel
MyModel.objects.filter(date_field__week_day=1)
```
除了以上的查询条件,还可以使用 `__range` 来筛选一段时间范围内的数据。例如:
```
from datetime import date
from myapp.models import MyModel
start_date = date(2021, 9, 1)
end_date = date(2021, 9, 30)
MyModel.objects.filter(date_field__range=(start_date, end_date))
```
以上是一些常用的查询条件,更多查询条件可以查阅 Django 官方文档。
阅读全文