2016-07-22 50 views
0

試圖在網站上實現用戶註冊表單我無法將用戶輸入作爲新用戶添加到數據庫。我用Peewee燒瓶,並且有:create_or_get與來自用戶輸入的數據

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)什麼返回了太多參數的錯誤。

A碼約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

文檔顯示,該參數爲「** kwargs」,所以一個未命名的字典將無法正常工作。將其更改爲'User.create_or_get(** nUser)'。 – coleifer

+0

它已在下面得到解答,但感謝您的幫助;) – adamczi

回答

1

您鏈接的官方文檔顯示create_or_get僅使用關鍵字參數。要通過一個字典,你需要使用**語法:

User.create_or_get(**nuser) 
+0

並解決了它。謝謝! – adamczi