【发布时间】:2020-11-21 19:05:09
【问题描述】:
def create_user(db: Session, user: UserCreate):
hashed_password= bcrypt.hashpw(user.password.encode('utf-8'), bcrypt.gensalt())
db_user= User(email=user.email, password=hashed_password, lname=user.lname, fname=user.fname)
print('---->', db_user)
db.add(db_user)
db.commit()
return db_user
@app.post('/api/users', response_model= User)
def signup(user_data: UserCreate, db: Session= Depends(get_db)):
user= get_user_by_email(db, user_data.email)
if user:
raise HTTPException(status_code=409,
detail="Email already registered")
signedup_user = create_user(db, user_data)
print("--------->", signedup_user)
return signedup_user
sqlalchemy.exc.DataError: (pymysql.err.DataError) (1406, "Data too long for column 'password' at row 1") [SQL:插入用户(lname、fname、email、password)值(%(lname)s、%(fname)s、%(email)s、%(password)s)] [参数:{'lname':'stsdf','fname':'swef','email':'didou@gmail.com','密码':b'$2b$12$nui9RJwoVkU.h6d9ASw6POLZhbn83YrwGKpsNvp.GlnsDa7X4VIqS'}] (此错误的背景:http://sqlalche.me/e/13/9h9h)
【问题讨论】:
-
请分享
User模型的代码。您认为“第 1 行的“密码”列的数据太长”可能意味着什么? -
我只是把password = Column (String (100)) 这样列就不会太多了吧?
标签: python sqlalchemy fastapi