SQLAlchemy JSON作为Blob /文本
我使用MySQL将JSON作为blob /文本存储在列中。有没有简单的方法可以使用python / SQLAlchemy将其转换为字典?
回答:
您可以使用SQLAlchemy
轻松创建自己的类型
对于SQLAlchemy版本> =
0.7,请在下面查看Yogesh的答案
import jsonpickleimport sqlalchemy.types as types
class JsonType(types.MutableType, types.TypeDecorator):
impl = types.Unicode
def process_bind_param(self, value, engine):
return unicode(jsonpickle.encode(value))
def process_result_value(self, value, engine):
if value:
return jsonpickle.decode(value)
else:
# default can also be a list
return {}
在定义表时可以使用它(示例使用elixir):
from elixir import *class MyTable(Entity):
using_options(tablename='my_table')
foo = Field(String, primary_key=True)
content = Field(JsonType())
active = Field(Boolean, default=True)
您还可以使用其他json序列化程序进行jsonpickle。
以上是 SQLAlchemy JSON作为Blob /文本 的全部内容, 来源链接: utcz.com/qa/424278.html