Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用Flask rest jsonapi/JSON API在同一POST方法中创建对象和相关对象?_Python 3.x_Flask_Json Api_Marshmallow_Flask Restless - Fatal编程技术网

Python 3.x 如何使用Flask rest jsonapi/JSON API在同一POST方法中创建对象和相关对象?

Python 3.x 如何使用Flask rest jsonapi/JSON API在同一POST方法中创建对象和相关对象?,python-3.x,flask,json-api,marshmallow,flask-restless,Python 3.x,Flask,Json Api,Marshmallow,Flask Restless,我有一个场景,我想使用FLASK-REST-jsonapi包创建一个新的父对象和新的子对象。e、 g 场景类似于在一个POST方法中使用新计算机创建一个新人 根据官方文档,我们可以使用单独的POST创建新的人员和新的计算机,然后使用关系将它们链接在一起。不过,我希望使用相同的POST方法将这两个对象一起创建 请让我知道有可能吗?如果是的话,任何例子都很好 谢谢 v1不支持使用一个请求创建多个资源。有一些讨论需要添加对的支持,例如即将推出的v1.1中的扩展:。一段时间以前有一个旧的扩展名,但那是实

我有一个场景,我想使用FLASK-REST-jsonapi包创建一个新的父对象和新的子对象。e、 g

场景类似于在一个POST方法中使用新计算机创建一个新人

根据官方文档,我们可以使用单独的POST创建新的人员和新的计算机,然后使用关系将它们链接在一起。不过,我希望使用相同的POST方法将这两个对象一起创建

请让我知道有可能吗?如果是的话,任何例子都很好


谢谢

v1不支持使用一个请求创建多个资源。有一些讨论需要添加对的支持,例如即将推出的v1.1中的扩展:。一段时间以前有一个旧的扩展名,但那是实验性的,到那时扩展名的设计已经改变了很多


我认为这些建议/实验中没有任何一个已经在中实施。

谢谢您的回复。因此,不支持创建同一资源的多个对象或创建不同资源类型的多个单个对象。这是正确的吗?我觉得这对于实时场景中的任何非平凡用例来说都是非常基本的,因为大多数情况下,一个模型并不代表一个资源,并且只能为多个模型(db表)定义资源。我是不是遗漏了什么?有没有我可以参考的例子知道如何处理这样的场景?JSON:API中没有类似模型的东西。资源由资源对象定义。它由其类型和唯一ID定义。它可能具有属性和关系。不能使用同一类型或不同类型的请求创建多个资源。对于实时场景来说,这不应该是一个问题。对于几乎所有的用例,发送多个请求不应该造成性能问题。但如果需要原子事务,这是一个很大的限制。在这种情况下,您可以实现其中一个建议的扩展。但请注意,它们还不是规范的一部分。也许我在这里遗漏了一些东西。假设我们有不同的表UserPost和表标记及其相关的模式UserPost和标记。典型的场景是使用标签和单个REST post或put API一起创建UserPost,而不是在单独的post或put请求中创建UserPost和Tags@nja您的场景听起来更像是创建一个与标记有关系的UserPost。那是可能的。只需为关系对象提供create请求。但是您不能同时创建一个新标记和一个新的UserPost。或者换一种说法:标签必须存在,以便在创建UserPost时引用它。正如您所提到的,我的场景与一起创建带有新标签的新帖子相关,我们不能像您所阐明的那样这样做。我们还可以先创建帖子,然后使用两个不同的URL创建指向帖子的标记和链接。然而,从前端端,需要发送两个请求,前端开发人员可能不喜欢这两个请求。有没有推荐的方法或示例来处理这种情况