Flask RESTless删除多个主键

时间:2014-05-28 22:23:32

标签: python json flask-restless

我对Flask RESTless有点问题,也许你可以帮助我:)。

我的SQL(和SQLAlchemy)中有一些表是N..N关系的结果,它们的主键是两列的总和。例如

Table 1 Key / Table 2 Key / Some data
0             0             Bla
0             1             Blabla
1             0             Morebla
1             1             Silenceisgolden

如果我使用带有ID的GET动词,例0,RESTless只使用“表1键”并返回0,0,Bla。

我可以使用查询语言(?q =)并获得0,0和0,1。

问题是:如何只用PATCH或DELETE动词选择一个?我只能删除或修补0,0

希望这个问题很清楚:)

非常感谢!

1 个答案:

答案 0 :(得分:1)

我最近遇到过类似的问题。问题是烧瓶 - 不安全喜欢假设主键是非复合物。

然而,有完美的工作。首先,您需要为端点启用多DELETE和多PATCH:

e.originalEvent.ctrlKey

此更改允许您使用flask-restless'查询参数删除或修补表中的项目,您可以使用该参数来过滤您要删除的确切行。

下面是一个python脚本,它使用请求库删除上面复合表中的第二行(并且只有第二行):

 manager.create_api(                                                              
      Your_Composite_Model,     # flask-sqlalchemy model class                                                                 
      methods=['GET', 'POST', 'DELETE', 'PATCH'],                                  
      allow_delete_many=True,                                                      
      allow_patch_many=True) 

输出应为:     {u'num_deleted':1}