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

时间:2021-07-29 18:04:24

标签: django django-models pydantic

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

{
  "name": "myKeyVault",
  "properties": {
    "type": "AzureKeyVault",
    "typeProperties": {
      "baseUrl": "https://myKeyVaultDev.vault.azure.net"
    }
  }
}

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

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

当我尝试创建 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,但它仍然抛出错误。 有人可以提出更好的方法来实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

你是在 BaseModel 内部这样设置的吗?

{
    "dataFactoryName": {
      "value": "GEN-UNIQUE"
    },    
    "dataFactoryLocation": {
      "value": "East US"
    }
  
}