Ana*_*Ali 2 django django-rest-framework
我的 Django 模型日期时间字段是字符串。在这种情况下,如何获取两个日期之间的数据?
模型.py
class asdf(models.Model):
recordDate = models.CharField(max_length=20,blank=True)
Run Code Online (Sandbox Code Playgroud)
小智 11
将 'recordDate' 更改为 DateField 并使用以下查询:
asdf.objects.filter(recordDate__gte='2019-03-01', recordDate__lte='2019-03-09')
Run Code Online (Sandbox Code Playgroud)
为了在范围之间使用过滤器此查询:
models.asdf.objects.filter(recordDate__gte='start_date', recordDate__lt='end_date')
Run Code Online (Sandbox Code Playgroud)
start_date并且end_date可以是日期格式的字符串或日期时间解析的对象。
小智 5
这对我有用, 记住一件事,您在数据库中存储的内容仅意味着日期或日期时间
当日期时间
start = '2021-08-12 21:52:33.118649'
end = '2021-08-13 06:30:46.909572'
user = UserAccount.objects.filter(created_at__gte=start,
created_at__lte=end)
print user
Run Code Online (Sandbox Code Playgroud)
当日期
start = '2021-08-12'
end = '2021-08-13'
user = UserAccount.objects.filter(created_at__gte=start,
created_at__lte=end)
print user
Run Code Online (Sandbox Code Playgroud)
或者您也可以在此处使用 __range 进行过滤
start = '2021-08-12 21:52:33.118649'
end = '2021-08-13 06:30:46.909572'
user = UserAccount.objects.filter(created_at__range=(start, end))
print user
Run Code Online (Sandbox Code Playgroud)
如果您存储在数据库数据时间中并且只想从数据库中检索日期
from datetime import datetime
datetime.strptime('2014-12-04', '%Y-%m-%d').date()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13847 次 |
| 最近记录: |