我需要验证列表是否是另一个列表的一个子集 - 布尔返回是我寻求的全部内容.
在交叉路口之后测试相等的较小列表是最快的方法吗?
考虑到需要比较的数据集数量,性能至关重要.
根据讨论添加更多事实:
在这种情况下,最佳解决方案是什么?
使用Python Enum类,有没有办法测试Enum是否包含特定的int值而不使用try/catch?
使用以下课程:
from enum import Enum
class Fruit(Enum):
Apple = 4
Orange = 5
Pear = 6
Run Code Online (Sandbox Code Playgroud)
如何测试值6(返回true)或值7(返回false)?
我有 2 个 Pydantic 型号 (var1和var2)。该方法的输入PostExample可以接收第一模型或第二模型的数据。使用Union有助于解决此问题,但在验证过程中,它会引发第一个模型和第二个模型的错误。
如何做到在填写字段时出现错误时,仅针对某个模型返回验证器错误,而不是同时返回两个模型?(如果有帮助的话,可以通过字段A的长度来区分模型)。
主要.py
@app.post("/PostExample")
def postExample(request: Union[schemas.var1, schemas.var2]):
result = post_registration_request.requsest_response()
return result
Run Code Online (Sandbox Code Playgroud)
模式.py
class var1(BaseModel):
A: str
B: int
C: str
D: str
class var2(BaseModel):
A: str
E: int
F: str
Run Code Online (Sandbox Code Playgroud) 我正在寻找一些库或代码示例来将 FastAPI 验证消息格式化为人类可读的格式。例如这个端点:
@app.get("/")
async def hello(name: str):
return {"hello": name}
Run Code Online (Sandbox Code Playgroud)
如果我们错过name查询参数,将产生下一个 json 输出:
{
"detail":[
{
"loc":[
"query",
"name"
],
"msg":"field required",
"type":"value_error.missing"
}
]
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如何:
我需要一个covars包含未知数量条目的变量,其中每个条目都是三个不同的自定义模型之一Pydantic。在本例中,每个条目都描述了我的应用程序的一个变量。
具体来说,我想要covars以下形式。这里显示了三个条目,即variable1、variable2和variable3,代表三种不同类型的条目。但是,在部署时,应用程序必须允许接收三个以上的条目,并且并非所有条目类型都需要出现在请求中。
covars = {
'variable1': # type: integer
{
'guess': 1,
'min': 0,
'max': 2,
},
'variable2': # type: continuous
{
'guess': 12.2,
'min': -3.4,
'max': 30.8,
},
'variable3': # type: categorical
{
'guess': 'red',
'options': {'red', 'blue', 'green'},
}
}
Run Code Online (Sandbox Code Playgroud)
我已成功创建三种不同的条目类型作为三个单独的Pydantic模型
import pydantic
from typing import Set, Dict, Union
class IntVariable(pydantic.BaseModel):
guess: int
min: int
max: int
class ContVariable(pydantic.BaseModel):
guess: float
min: float
max: …Run Code Online (Sandbox Code Playgroud) 我想验证pydantic模型的三个模型字段。为此,我正在从 pydantic 导入 root_validator。低于错误。我在https://pydantic-docs.helpmanual.io/usage/validators/#root-validators 中找到了这个。任何人都可以帮助我。找出下面的错误。from pydantic import BaseModel, ValidationError, root_validator Traceback (最近一次调用): File "", line 1, in ImportError: cannot import name 'root_validator' from 'pydantic' (C:\Users\Lenovo\AppData\Local\Programs\ Python\Python38-32\lib\site-packages\pydantic__init__.py)
我试过
@validator
def validate_all(cls,v,values,**kwargs):
Run Code Online (Sandbox Code Playgroud)
我从一些常见的字段父模型继承了我的 pydantic 模型。仅显示父类字段的值,但不显示我的子类字段。例如
class Parent(BaseModel):
name: str
comments: str
class Customer(Parent):
address: str
phone: str
@validator
def validate_all(cls,v,values, **kwargs):
#here values showing only (name and comment) but not address and phone.
Run Code Online (Sandbox Code Playgroud)