23

我正在使用 pydantic 1.3 来验证我正在编写的 API 的模型。

在从 pydantic.BaseModel 继承的类中包含任意方法是否常见/良好的做法?

我需要一些与对象关联的辅助方法,并且我正在尝试确定是否需要“处理程序”类。这些模型正在被转换为 json 并发送到我也在编写的宁静服务。

我的模型如下所示:

class Foo(pydantic.BaseModel):
    name: str
    bar: int
    baz: int

做类似的事情是不好的做法:

class Foo(pydantic.BaseModel):
    name: str
    bar: int
    baz: int

    def add_one(self):
        self.bar += 1

这对我来说很有意义,但我找不到任何人这样做的例子。

先感谢您。

4

1 回答 1

24

是的,没关系。我们可能应该记录它。

唯一的问题是当您的字段名称与方法冲突时,但如果您知道您的数据是什么样的,这不是问题。此外,您的代码可能会过度面向对象,但您离那还有很长的路要走。

于 2020-02-04T00:02:24.817 回答