首页 > 解决方案 > 如何为 django 模型添加 pydantic 字段验证?

问题描述

所以,我有一个 django 模型,比方说,它的字段划分如下:

class ModelA(models.Model):
    f1 = models.CharField(max_length=127)
    f2 = models.CharField(max_length=127)

我想创建一个 pydantic 类,其字段类型包含这些模型的列表。考虑以下示例:

class TestPydanticClass(BaseModel):
    model_a_values: List[ModelA]
    f4: int

当我尝试创建TestPydanticClass对象时,它会引发以下错误:

RuntimeError: no validator found see `arbitrary_types_allowed` in Config

基于此,我在模型arbitrary_types_allowed的类下添加了 True,Config它仍然会引发错误。有人可以提出更好的方法来实现这一目标吗?

标签: djangodjango-modelspydantic

解决方案


您是否在 BaseModel 中设置了这种方式?

class TestPydanticClass(BaseModel):
    model_a_values: List[ModelA]
    f4: int

    class Config:
        arbitrary_types_allowed = True


推荐阅读