Bạn có thể rất dễ dàng tạo loại của riêng bạn với SQLAlchemy
Đối với các phiên bản SQLAlchemy> =0,7, hãy xem câu trả lời của Yogesh dưới đây
import jsonpickle
import 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 {}
Điều này có thể được sử dụng khi bạn đang xác định các bảng của mình (ví dụ sử dụng 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)
Bạn cũng có thể sử dụng một serialiser json khác để jsonpickle.