在 pydantic 模型中包含非验证方法是否是一种不好的做法?



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

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

我需要一些与对象关联的帮助程序方法,并且我正在尝试决定是否需要一个"处理程序"类。这些模型正在转换为 JSON 并发送到我也在编写的 restful 服务。

我的模型如下所示:

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

这对我来说是有道理的,但我找不到任何人这样做的例子。

是的,没问题。我们也许应该记录下来。

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

最新更新