Alb*_*rta 2 python django django-views python-3.x django-rest-framework
我想将带有日期时间对象的 values_list 字段转换为日期对象。
.values_list('time_finished', flat=True)
给我“2016-03-22T18:52:53.486Z”,我想要的是“2016-03-22”
谢谢!
您可以使用datetime.datetime.date()方法来获取datetime.date对象:
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2016, 4, 12, 15, 54, 48, 401418)
>>> dt.date()
datetime.date(2016, 4, 12)
Run Code Online (Sandbox Code Playgroud)
用于datetime.datetime.strftime获取字符串:
>>> dt.strftime('%Y-%m-%d')
'2016-04-12'
Run Code Online (Sandbox Code Playgroud)
[dt.date() for dt in query.values_list('time_finished', flat=True)]
Run Code Online (Sandbox Code Playgroud)
您可以使用extra直接运行一些数据库功能,例如使用DATE:
queryset = queryset.extra(select={'time_finished_date': 'DATE(time_finished)'}).values_list('time_finished_date', flat=True)
Run Code Online (Sandbox Code Playgroud)
如果您从 打印 SQL 查询queryset,它将如下所示:
>>> print(queryset.query)
# SELECT (DATE(time_finished)) AS "time_finished_date" FROM <<tablename>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3584 次 |
| 最近记录: |