我正在使用flask-restplus开发API。我的一个端点返回一个对象列表,例如
[
{
"id": "1342",
"index": "meta",
"score": 3.0630198
},
{
"id": "1645",
"index": "meta",
"score": 3.0630198
},
{
"id": "2345",
"index": "meta",
"score": 3.0630198
}
]
现在我正在尝试使用字段来开发模型,以便我可以将其封送为例如,
model = namespace.model('MyModel', {
"some_attribute":fields.List(fields.Nested(some_nested_object))
})
@namespace.route('')
class FlashcardAutocompleteAPI(Resource):
...
@namespace.marshal_with(model,code=200)
def get(self):
...
上面的代码当然可以,但是不能整理正确的结构。
有没有办法不声明“ some_attribute”部分,以使该模型将封送如上所述的json结构?试试看:
model = namespace.model('MyModel', {
fields.List(fields.Nested(some_nested_object))
})
我收到:
TypeError: cannot convert dictionary update sequence element #0 to a
sequence
答案 0 :(得分:0)
不确定是否有帮助,我遇到了类似的问题,但是使用了post
方法而不是get
。在这种情况下,我在方法之前使用了expect
装饰器
@ns.expect(model, validate=True)
,如果我只用括号将模型包装起来,就可以了,就像这样:
@ns.expect([model] validate=True)
https://github.com/noirbizarre/flask-restplus/issues/230
中指出了解决方案我知道这只是部分答案,但也许可以阐明这个问题。祝你好运!
答案 1 :(得分:0)
您无需声明新模型,flask-restplus可以重用<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/15.3.2/react-dom.min.js"></script>
<html>
<body>
<label>Focus the input first (e.g. by clicking in it), then try pressing Space.</label>
<input type="text" id="t11" className="attendanceInput" readonly/>
</body>
</html>
描述的相同模型来编组单个项目或该类型的项目列表。
因此,您只需要编写如下内容:
<input type="text" id="11" onKeyDown={this.handleKeyDown.bind()} className="attendanceInput" readOnly/>