尝试在网站上实现用户注册表单我无法将用户输入作为新用户添加到数据库中。我正在使用带有Peewee的Flask,并且有:
nUser ={
'email': request.form['e_mail'],
'uname': request.form['username'],
'pword': request.form['password'],
'time': strftime('%Y-%m-%d %H:%M:%S')
}
nUser = User.create_or_get()
其中nUser是新用户的临时字典。我应该提一下,用the official peewee docs我试过nUser, created = User.create_or_get(nUser)
什么返回了太多参数的错误。
下面有一个关于User
类的代码(存储在单独的.py中,但那里有from models import *
):
class User(Model):
email=TextField()
uname=TextField(unique=True)
pword=TextField()
time=TextField()
class Meta:
database = db
虽然它似乎从webuser端“起作用”,但没有记录添加到数据库中。以前我用User.select().where(User.uname......
做了它并且它有效,但现在我想切换到create_or_get()
方法,因为它会缩短我的代码并且看起来更有效率。登录旧用户可以正常工作,因此可以正常连接和访问数据库。我很感激任何提示。
答案 0 :(得分:1)
您链接的官方文档显示create_or_get
仅接受关键字参数。要传递dict,您需要使用**
语法:
User.create_or_get(**nuser)