python - Flask RestPlus 继承模型无法按预期工作

标签 python flask flask-restplus

所以我在 Flask RestPlus 中有这个模型:

NS = Namespace('parent')
PARENT_MODEL = NS.model('parent', {
    'parent-id': fields.String(readOnly=True,
    'parent-name': fields.String(required=True)
})
CHILD_MODEL = NS.inherit('child', SUBSCRIPTION_MODEL, {
    'child-id': fields.String(required=True, readOnly=True),
    'child-name': fields.String(required=True),
    'child-some-property': fields.String(required=True)
})

CHILD_PROPERTY_MODEL = NS.inherit('child-other-property', RESOURCE_GROUP_MODEL, {
    'child-other-property': fields.Raw(required=False)
})

它没有按预期工作,我得到了这个输出(以及 swagger 文档上的类似结构)。
[
  {
    "parent-id": "string",
    "parent-name": "string",
    "child-id": "string",
    "child-name": "string",
    "child-some-property": "string",
    "child-other-property": {}
  }
]

而不是这样的:
[
  {
    "parent-id": "string",
    "parent-name": "string", {
        "child-id": "string",
        "child-name": "string",
        "child-some-property": "string",{
            "child-other-property": {}
      }
    }
  }
]

我可能错过了一些简单的东西,但不明白是什么。 This我正在咨询以找出 Flask Restplus 中的模型。

最佳答案

NS = Namespace('sample')

child_model = NS.model('child', {
    'childid': fields.String(required=True, readOnly=True),
    'childname': fields.String(required=True),
    'data': fields.String(required=True),
    'complexdata': fields.Raw(required=False)
})

parent_model = NS.model('parent', {
    'id': fields.String(readOnly=True),
    'name': fields.String(required=True),
    'childdata': fields.List(
        fields.Nested(child_model, required=True)
        )
})

这对我有用。看来 Flask Restplus github 已经死了,维护者没有回答。这可能会帮助某人。

关于python - Flask RestPlus 继承模型无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41046229/

相关文章:

python - 创建一个变量/DataFrame,从函数的参数中获取其名称

python - 嵌入向量搜索高效算法

python - 将正方形旋转为向量的法线

javascript - Flask json 响应在 ajax 成功处理程序中失败

python - 在 Flask 应用程序的后台运行一个 scrapy 蜘蛛

python - 无法将数据写入数据框的 csv 文件中的换行符

python - 如何在 Python 中实现 matlabs `` ismember( )`` 命令?

python - 无法将 csv 文件从 Flask 上传到数据库

python - Flask-Restplus/路由

python - Flask_restplus 没有生成正确的 Swagger UI