【问题标题】:ptyhon, pydantic, convert/cast str to EmailStrpython,pydantic,将字符串转换/转换为 EmailStr
【发布时间】:2021-01-02 20:50:16
【问题描述】:

我有一个密码表单OAuth2PasswordRequestForm(位于fastapi/security/oauth2.py)。我从这个表格中得到了一个用户名(实际上是电子邮件)。但是我无法将此用户名传递给我的 crud.geet_user_by_email 函数,因为最后一个期望从pydanctic 而不是str 输入的正是Emailstr。我该怎么办?

代码:

@app.post("/token", response_model=schemas.Token)
async def login_for_access_token(
        form_data: OAuth2PasswordRequestForm = Depends(),
        db: Session = fastapi.Depends(database.get_db)):
    user = authenticate_user(crud.get_user_by_email(email=form_data.username, db=db),
                             form_data.username, form_data.password)

CRUD 函数

def get_user_by_email(db: Session, email: EmailStr):
return db.query(models.User).filter(models.User.email == email).first()

【问题讨论】:

  • 您应该向我们展示您的代码,以便我们可以复制问题。
  • @KlausD。添加源代码

标签: python fastapi pydantic


【解决方案1】:

解决方案很简单:email = EmailStr(username)

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 2013-02-24
    • 2016-12-16
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多