我正在使用peewee作为ORM创建一个API,我需要将peewee模型对象转换为JSON对象以发送给用户的能力。有谁知道这样做的好方法吗?
发布于 2014-02-24 10:05:18
你可以这样做:
class MyModel(peewee.Model):
def __str__(self):
r = {}
for k in self._data.keys():
try:
r[k] = str(getattr(self, k))
except:
r[k] = json.dumps(getattr(self, k))
return str(r)
class User(MyModel):
email = CharField()
status = CharField(default="enabled")
firstname = CharField()
lastname = CharField()
class Meta:
database = db发布于 2014-02-24 04:55:13
Peewee在model_to_dict扩展模块中有一个dict_to_model和playhouse.shortcuts助手。
您可以如下所示:
from playhouse.shortcuts import model_to_dict, dict_to_model
user_obj = User.select().where(User.username == 'charlie').get()
json_data = json.dumps(model_to_dict(user_obj))还请注意,model_to_dict()可以通过相关的模型递归,包括反引用的模型,并排除某些字段被序列化。
发布于 2019-11-19 10:17:21
单取时
user = User.select().where(User.id == 1).get()
model_to_dict(user) #to Dict多取时
users = list(User.select().where(User.name ** 'a%').dicts()) https://stackoverflow.com/questions/21975920
复制相似问题