前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python测试开发django-79.ORM查询之datetime()格式化(extra )

python测试开发django-79.ORM查询之datetime()格式化(extra )

作者头像
上海-悠悠
发布2020-07-07 11:01:36
1K0
发布2020-07-07 11:01:36
举报

前言

django 查询数据库的时候,数据存的是 datetime() 日期格式的数据 ‘2020-06-22 22:34:14’ 但是我们用 ORM 查询的时候,查询出来的结果是 ‘datetime.datetime(2020, 6, 22, 22, 34, 14)}’ 跟我们预期的结果不符合。 如果每次对查询的结果日期格式后再输出会比较麻烦,最好的解决办法是在查询的时候对日期格式化,这样查询的结果就不用二次处理

问题描述

使用 sql 查询,数据库里面的日期格式是’2020-06-22 22:34:14’

SELECT * from yoyo_card where card_user = ‘yoyo2’;

使用 django 查询的结果是 ‘add_time’: datetime.datetime(2020, 6, 22, 22, 34, 14)

Card.objects.filter(card_user=’yoyo2’).values()

代码语言:javascript
复制
MyDjango>python manage.py shell
>>> from yoyo.models import Card
>>>
>>> Card.objects.filter(card_user='yoyo2').values()
<QuerySet [{'id': 2, 'card_id': '520000000001', 'card_user': 'yoyo2', 'add_time': datetime.datetime(2020, 6, 22, 22, 34, 14)}]>
>>>

我们期望查询的结果,日期应该显示 格式化后的字符串 'add_time': '2020-06-22 22:34:14'

使用 extra 查询

先用 sql 的 DATE_FORMAT 查询,把日期格式化

代码语言:javascript
复制
SELECT card_id, card_user, DATE_FORMAT(add_time, '%Y-%m-%d %H:%i:%s')  as add_time
from yoyo_card where card_user = 'yoyo2';

那么对应 django 的 extra 查询,% 是python操作符,这里用两个%%表示

Card.objects.filter(card_user=’yoyo2’).extra(select={‘add_time’:’DATE_FORMAT(add_time, “%%Y-%%m-%%d %%H:%%i:%%s”)’})

代码语言:javascript
复制
# 作者-上海悠悠 QQ交流群:717225969
MyDjango>python manage.py shell
>>> from yoyo.models import Card
>>>
>>> Card.objects.filter(card_user='yoyo2').extra(select={'add_time':'DATE_FORMAT(add_time, "%%Y-%%m-%%d %%H:%%i:%%s")'}).values('card_id', 'card_user', 'add_time')
<QuerySet [{'add_time': '2020-06-22 22:34:14', 'card_id': '520000000001', 'card_user': 'yoyo2'}]>
>>>

这样查询到的日期结果就会显示字符串 'add_time': '2020-06-22 22:34:14'

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 问题描述
  • 使用 extra 查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档