我有一个基本的词典如下:
sample = {}
sample['title'] = "String"
sample['somedate'] = somedatetimehere
Run Code Online (Sandbox Code Playgroud)
当我尝试做的时候,jsonify(sample)我得到:
TypeError: datetime.datetime(2012, 8, 8, 21, 46, 24, 862000) is not JSON serializable
我能做些什么,以便我的字典样本可以克服上述错误?
注意:虽然它可能不相关,但字典是从mongodb中检索记录生成的,当我打印输出时str(sample['somedate']),输出是2012-08-08 21:46:24.862000.
如果我从带有peewee的数据库中获取多条记录,则可以将它们转换为如下所示的字典:
users = User.select().where(User.attribute == some_value).dicts()
Run Code Online (Sandbox Code Playgroud)
但是,通常我只想要一条记录(或者知道只返回一条记录),所以我可以这样做:
one_user = User.get(User.name == some_value)
Run Code Online (Sandbox Code Playgroud)
但是我无法调用.dicts()该对象返回的对象。
有没有办法以dict形式获取该get查询的结果?
目前,我唯一能想到的就是非Python语言
one_user = User.select().where(User.name == some_value).dicts()[0]
Run Code Online (Sandbox Code Playgroud) 我正在尝试JSON使用以下代码呈现PeeWee查询结果:
@app.route('/')
def index():
c = Category.select().order_by(Category.name).get()
return jsonify(model_to_dict(c))
Run Code Online (Sandbox Code Playgroud)
这样做我只从查询中返回一行.我很确定这个问题是我的用法get(),文档明确表示只返回一行.我用什么代替get()取回整个结果?
下面这个问题指出了我正确的方向,但也在使用 get()