RFC: 删除 Nested(many=True),只保留 List(Nested()) 形式
作者: lafrech创建于 2018年4月19日更新于 2025年12月1日
标签feedback welcomebackwards incompat
请参阅 https://GitHub.com/marshmallow-code/marshmallow/issues/493#issuecomment-380468027 中的讨论。我们有两种方法来做同样的事情。它们有时会表现出不同的行为,这通常意味着其中一个方法存在 bug。IMHO,而且从我周围用户的经验来看,对于新用户来说,写 `List(Nested)` 更为自然,而不是 `Nested(many)`。此外,这与 `Dict(values=Nested)` 也是一致的。我知道这是一个很大的变更,无论是从用户的角度来看,因为 `Nested(many=True)` 可能是最常用的形式,还是从开发者的角度来看,因为它涉及了大量代码的更改(但也包括了大量代码的删除,这很不错)。虽然 `Nested(many=True)` 可以做一些 `List(Nested)` 不能做的事情,但也可能会出现一些 `pre_load` 边缘情况受到影响。有没有什么真实的例子吗?
内容来源: marshmallow-code/marshmallow