相关疑难解决方法(0)

如何克服"datetime.datetime而不是JSON可序列化"?

我有一个基本的词典如下:

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.

python json

626
推荐指数
19
解决办法
44万
查看次数

返回单个皮尤记录作为dict

如果我从带有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)

python peewee

4
推荐指数
2
解决办法
892
查看次数

从PeeWee查询中获取完整结果(转换为JSON)

我正在尝试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()

Peewee模型为JSON

python json peewee

2
推荐指数
1
解决办法
2609
查看次数

标签 统计

python ×3

json ×2

peewee ×2