51得票9回答
如何在FastAPI中使用Pydantic模型处理表单数据?

我正在尝试从HTML表单提交数据并使用Pydantic模型进行验证。 使用以下代码:from fastapi import FastAPI, Form from pydantic import BaseModel from starlette.responses import HTMLResp...

50得票3回答
如果没有传递值,如何将默认值赋给变量?

如果在字段中传入None,我可以在Pydantic中设置默认值吗?我有以下代码,但我认为此处的验证器仅适用于模型的初始化,而不是其他情况。我的代码:class User(BaseModel): name: Optional[str] = '' password: Optio...

46得票3回答
如何在Python Pydantic BaseModel中要求预定义的字符串值?

在pydantic中有内置的方法可以指定选项吗?例如,假设我想要一个字符串值,它必须是“foo”或“bar”中的一个。我知道我可以使用正则表达式验证来实现此目的,但由于我与FastAPI一起使用pydantic,用户只会将所需输入视为字符串,但当他们输入某些内容时,它会产生验证错误。所有pyd...

42得票7回答
如何在FastAPI的POST请求中同时添加文件和JSON主体?

具体来说,我希望下面的示例能够正常工作:from typing import List from pydantic import BaseModel from fastapi import FastAPI, UploadFile, File app = FastAPI() class ...

42得票3回答
Pydantic: 检测字段值是否缺失或为空

我希望允许用户使用PUT调用有选择地更新字段。在pydantic模型上,我将字段设置为可选的。在FastAPI处理程序中,如果模型属性为None,则表示未提供该字段,因此不会更新它。 这种方法的问题是,客户端无法“清空”某些类型所需的字段。 特别是,我有一些日期字段,我希望客户端能够通过在JS...

39得票2回答
TypedDict不允许使用可选键?

我希望使用pydantic进行模式验证,并使用TypedDict定义嵌套字典模式的一部分。然而,我意识到如果在TypedDict类中指定Optional,它将无法正常工作。 我了解到这个类将渲染其中的所有键为必需的,而使它们全部变为可选的方法是使用total=False。然而,我只想让其中一...

39得票4回答
Pydantic:基于其他字段的值使验证器中的字段为None

我正在使用带有以下验证器的 pydantic BaseModel: from datetime import date from typing import List, Optional from pydantic import BaseModel, BaseConfig, validato...

37得票2回答
当我继承Pydantic BaseModel时,为什么会出现“AttributeError: __fields_set__”错误?

我有这个项目,在我的基类和子类中实现了pydantic.BaseModel: from pydantic import BaseModel from typing import List from dataclasses import dataclass @dataclass class ...

35得票1回答
不通过别名分配Pydantic字段

如何创建一个没有使用别名名称的pydantic对象?from pydantic import BaseModel, Field class Params(BaseModel): var_name: int = Field(alias='var_alias') Params(var_...

35得票5回答
如何验证 Pydantic 模型的多个字段?

我想验证 Pydantic 模型的三个模型字段。为此,我正在从 pydantic 导入 root_validator,但是我遇到了以下错误: from pydantic import BaseModel, ValidationError, root_validator Traceback (...