假设我在SqlAlchemy中有两个模型:
UserType
User
User
有一个UserType
的外键
我已经正确地配置了flask Entertaint,以将这些模型作为API端点:
/api/user
/api/user_type
但默认情况下,当我访问这些端点中的任何一个时,我会获得与响应中每个对象关联的相关数据:
User
在响应中嵌套了相应的UserType
对象UserType
在响应中嵌套了一个User
的集合随着数据的增长,这肯定会导致大量的开销。如果我只想获得系统支持的UserType
列表,那么所有相关联的用户都将返回。通常,API会为相关资源生成链接:
/api/user/1/user_type
/api/user_type/1/users
有没有人从“烧瓶不安的反应”中得到这些联系?在
这似乎是一个在GitHub上长期活跃的已知问题。不确定开发商是否计划修复:
https://github.com/jfinkels/flask-restless/issues/168#issuecomment-69821642
最后我使用了
flask-restful
并构建了自己的端点。在现在从版本0.17.0开始实施
如果您的
User
模型如下所示:你的
^{pr2}$UserType
模型看起来像:然后,您可以通过发出GET请求来获取特定
user_type
的所有users
,方法是向。。。在/api/用户类型/1/用户
…其中后缀/users/由传递给
relationship()
的backref=backref('users')
属性为User
中的用户类型列指定,1是被查询的用户类型的id
。在相关问题 更多 >
编程相关推荐