- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 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 仅使用“Table 1 Key”并返回 0,0,Bla。
我可以使用查询语言 (?q=) 并获得 0,0 和 0,1。
问题是:我如何只选择带有 PATCH 或 DELETE 动词的一个?我只能删除或修补 0,0
希望这个问题很清楚:)
非常感谢!
最佳答案
我最近遇到了类似的问题。问题是 flask-reSTLess 喜欢假设主键是非复合键。
但是,有非常好的解决方法。首先,您需要为端点启用 multi-DELETE 和 multi-PATCH:
manager.create_api(
Your_Composite_Model, # flask-sqlalchemy model class
methods=['GET', 'POST', 'DELETE', 'PATCH'],
allow_delete_many=True,
allow_patch_many=True)
此更改允许您使用 flask-reSTLess 的查询参数删除或修补表中的项目,您可以使用它来过滤您希望删除的确切行。
下面是一个使用 requests 库的 python 脚本,它删除了上面复合表中的第二行(并且只删除了第二行):
import requests
import json
url = 'http://127.0.0.1:5000/api/your_composite_model'
headers = {'Content-Type': 'application/json'}
filters = [
dict(name='table_1_key', op='eq', val='0'),
dict(name='table_2_key', op='eq', val='1'),
]
params = dict(q=json.dumps(dict(filters=filters)))
response = requests.delete(url, params=params, headers=headers)
print(response.json())
~
输出应该是: {u'num_deleted': 1}
关于python - Flask RESTless 删除多个主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23922863/
我有两个 Flask-SQLAlchemy 模型和各自的 Flask-ReSTLess API 端点,如下所示: class Person(db.Model): person_id = db.
我最近使用 Flask-ReSTLess 创建 API。 当我尝试查询 API 时,我在 Web 浏览器 (firefox) 上收到“无法构建查询”的错误消息。这是查询: http://localho
我在使用 Flask RESTless 时遇到了一些小问题,也许你可以帮助我 :) 我的 SQL(和 SQLAlchemy)中有一些表是 N..N 关系的结果,它们的主键是两列的总和。例如 Table
我有一个后端应用程序 flask-restless它会回复一些 json 数据。设置正确。我通过 $.ajax 函数从 javascript 请求这些数据。它与一个过滤器完美配合,我需要更多过滤器,但
我有这两个模型(使用 Flask-SQLAlchemy 定义): class BankAccount(db.Model): id = db.Column(db.Integ
安静和不安之间的基本区别是什么,我读过一些文章,人们似乎可以互换使用它们。 最佳答案 REST 代表 REpresentational State Transfer,有点像这样: 我们有一堆唯一可寻址
我和一个 friend 一直在阅读 Flask-RESTless 的文档,它说: The arguments to the preprocessor and postprocessor functio
我正在使用 Flask-ReSTLess 制作一个 super 简单的 REST API。我想添加身份验证,但仅用于 put/post/delete 调用,而我想将 get 调用保留为公开。 到目前为
我一直在寻找有关如何自动启动我的 GlassFish 服务器以及其上的 RESTful 应用程序的说明。我通过 NetBeans IDE 安装它,我通常通过 NetBeans 控制它,但我需要从开发环
我想从 flask reSTLess 中返回一个自定义属性,例如 class Item(db.Model): creator_id = db.Column(db.Integer, db.For
我正尝试按照 docs 的建议使用带有 Marshmallow 的自定义反序列化器排除 Flask-ReSTLess API 中的列: 序列化器.py class HeatSchema(Schema)
我正在使用 Flask-ReSTLess 0.17.0 并且无法获得 preprocessor or postprocessor function开火。作为引用,我有一个 SQLAlchemy 模型,
根据documentation ,搜索查询应如下所示: GET /api/person?q={"filters":[{"name":"age","op":"ge","val":10}]} 如何比较日期
我有这样的东西: { "id": 1, "username": "plasmy", "userdetails": [ { "detail": "A Name",
我正在尝试学习如何在 pythonanywhere 上提供的 Flask 应用程序和 mysql 数据库中提供数据。 我添加了一条到/test 的路由,该路由旨在连接到现有的 mysql 数据库表,然
我正在尝试构建一个在 Google App Engine 上运行的 RESTful Web 服务。我遇到了两个可能有用的项目, RESTless (Xydra) RESTeasy 当我尝试检查其中任何
我安装了一个 Flask 应用程序,正在运行 Flask-reSTLess API以下命令执行成功: curl -H "Content-type: application/json" -X POST
当我尝试使用curl 使用 unicode 字段创建模型实例时,出现 UnicodeEncodeError 这是我的代码,为了简单起见,我将其放在一个文件中: import flask import
我是 Python 新手,正在探索 Flask 框架。 我正在使用 Flask Restful 开发一个简单的基于 Rest 的 API。现在,我发现的最大挑战是将 SQL Alchemy 模型类用于
我正在使用 Flask-ReSTLess 构建一个 API,它需要一个 API key ,该 key 将位于 Authorization HTTP header 中。 在 Flask-ReSTLess
我是一名优秀的程序员,十分优秀!