我正在Flask framework
中开发API,并且越来越大。目前,我有数十个sqlalchemy
模型,甚至还有更多Marshmallow
CRUD模式。
主要是使用架构,情况有些混乱且难以维护,因此我对在较大的Flask应用中组织整体结构的最佳方法以及在具有以下条件的端点中更好地维护序列化方法有疑问:
/v0/user/all
{
"data":{
"id":1,
"name":"foo",
"phone":"927487286",
"courses":[
{
"id":12,
"name":"Math",
"place":{
"id":1,
"location":"Foo Street"
}
}
]
}
}
/v0/courses/{id} { "data":{ "id":12, "name":"Math", "place":{ "location":"Foo Street" } } }
[我当时正在考虑在模型中实现方法
to_dict
,但是当嵌套到另一个序列化程序中时,也很难维护它们。
有什么建议吗?
我正在Flask框架中开发API,并且越来越大。目前,我有数十种sqlalchemy模型,甚至更多的棉花糖CRUD模式。事情有点混乱并且难以维护,...
棉花糖的目的是通过将视图职责委托给模式来避免对象中的to_dict
方法。参见史蒂文·洛里亚(棉花糖作者)的this presentation。