小编Avi*_*viC的帖子

Python [Pydantic] - 基于类中其他对象的默认值

我想设置默认电子邮件以防未提供电子邮件,即:

name = a 
last_name = b
email = None 
Run Code Online (Sandbox Code Playgroud)

电子邮件将变为“a_b@email.com”

我尝试了类似的方法,但显然不能用作名称,last_name 未在函数中定义。

class User(BaseModel):
     name: Optional[str] = ''
     last_name: Optional[str] = ''
     email: EmailStr
    

    @validator('email')
    def set_email(cls, email):
        if not email:
           return name + last_name + '@email.com' 
        else:
           return email
Run Code Online (Sandbox Code Playgroud)

更新-仍然不起作用,我尝试过:

    @root_validator(pre=True)
    def email_set_config(cls, values):
        email, name ,last_name = values.get('email'), values.get('name') , values.get('last_name')
        if email is None :
            email= name + '_' + name + '@' + last_name 
        return values

Run Code Online (Sandbox Code Playgroud)

解决方案:

添加到类:

- 更新

  • 实际上它可以在没有定义类 Config 的情况下工作:
    class Config: …
Run Code Online (Sandbox Code Playgroud)

python pydantic

6
推荐指数
2
解决办法
9112
查看次数

Fastapi 响应 - 反斜杠

我有变量保存sql的时间格式,并且需要返回它,但是当我将其打印回来时它被反斜杠转义了

参见示例:


@app.get("/")

def test_string():
    sql_date ='YYYY-MM-DD"HH24:MI:SS"Z"'
    print(sql_date)
#get YYYY-MM-DD"HH24:MI:SS"Z"
    return sql_date
#return "YYYY-MM-DD\"HH24:MI:SS\"Z\""

Run Code Online (Sandbox Code Playgroud)

如何在没有转义反斜杠的情况下从 fastapi 获取返回值?

python fastapi

1
推荐指数
1
解决办法
2971
查看次数

标签 统计

python ×2

fastapi ×1

pydantic ×1