Flask restfull多对多

时间:2016-05-25 09:31:32

标签: python flask many-to-many flask-restful

我在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中的新手

1 个答案:

答案 0 :(得分:-1)

根据我的经验,SQLAlchemy并不直接支持多对多关系。我总是必须在我的代码中分别处理关系的每一面,尽管可以在同一个调用中处理双方。

这样可以使API调用者认为它是多对多的标准,并且将两个一对多的合并为单个响应将由您的代码处理。