【发布时间】:2019-01-29 22:54:33
【问题描述】:
我有这个模型的带有 jsonb 字段和棉花糖模式的 sqlalchemy 模型:
class Settings(db.Model):
id = db.Column(UUID, primary_key=True,
server_default=text("uuid_generate_v4()"))
settings = db.Column(JSONB)
class SettingsSchema(ma.ModelSchema):
class Meta:
model = Settings
我在 json 中序列化它,例如:
settings = Settings(settings={'qwerty': 'test'})
settings_schema = SettingsSchema(many=False, exclude=('id', ))
body = settings_schema.dump(settings).data
模型的 json 视图如下所示:
{
"settings": {
"qwerty": "test"
}
}
当我将此架构用作嵌套时,我的结果类似于
{
"id": 123456,
"some_field": "some_field_value",
"other_field": "other_field_value",
"settings": {
"settings": {
"qwerty": "test"
}
}
}
而且这个“settings.settings”看起来很丑。
有没有办法对棉花糖说我只需要值作为转储结果,我的意思是
{
"qwerty": "test"
}
可能我需要对元类做点什么,但我不知道该怎么做。
【问题讨论】:
标签: python sqlalchemy psycopg2 marshmallow