我在python中使用了一个API,使用了flask,flask-restful ...而且前面是一个Angular webapp。
我有一个模特" Campaign"以及由Tag
组成的表格Campaigns_Tags
中存储了多对多关系的模型Id, CampaignId, TagId
。
我想在更新广告系列时在广告系列和广告代码之间创建/更新链接。
JSON
{
"Name": "MyCampaign",
"Tags": [2] // List of tags id
}
Python资源
class CampaignsResource(BaseListResource):
args = parser_new.parse_args()
# set ClientId (same as current_user) and AuthorId
args['ClientId'] = session.get('client_id')
args['AuthorId'] = session.get('id')
# save object
new_campaign = self.model.create(**args)
return new_campaign, 201
我的模型是基于SQLAlchemy的反射机制构建的。
我可以在一次api通话中完成吗?我必须自己做吗?没有通用的方法来填充表Campaigns_Tags
?
如果你有一些关联的话,我发现没有多少关系与烧瓶 - restfull。也许我误解了一些东西,我是python中的新手
答案 0 :(得分:-1)
根据我的经验,SQLAlchemy并不直接支持多对多关系。我总是必须在我的代码中分别处理关系的每一面,尽管可以在同一个调用中处理双方。
这样可以使API调用者认为它是多对多的标准,并且将两个一对多的合并为单个响应将由您的代码处理。