如何为 Django 模型添加 pydantic 字段验证?

How to add pydantic field validation for django model?

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

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

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

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

当我尝试创建 TestPydanticClass 对象时,它抛出以下错误:

RuntimeError: no validator found see `arbitrary_types_allowed` in Config

基于此,我在模型的Config class下添加了arbitrary_types_allowed为True,仍然报错。 有人可以建议实现此目标的更好方法吗?

你是这样设置的吗,在BaseModel里面?

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

    class Config:
        arbitrary_types_allowed = True