2016-07-22 19 views
0

Webサイトにユーザー登録フォームを実装しようとしています。ユーザー入力を新しいユーザーとしてデータベースに追加することはできません。私はピーウィーでフラスコを使用して、そして持っている:ユーザー入力のデータを持つ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() 

nユーザーは、新しいユーザーのための一時的な辞書です。私は言及する必要があります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()メソッドに切り替えたいのですが、それはコードを短くしてより効率的に見えるからです。古いユーザーのためのログインは機能しているので、DBへの接続とアクセスは問題ありません。私はどんなヒントもありがとう。

+0

ドキュメントはパラメータが「** kwargsから」であることを示しているが、その単一の名前のない辞書には動作しません。それを 'User.create_or_get(** nUser)'に変更してください。 – coleifer

+0

これは既に下記で回答していますが、助けてくれてありがとうございます;) – adamczi

答えて

1

create_or_getには、キーワード引数のみが表示されることを示すためにリンクしている公式文書。辞書を渡すには、あなたが**構文を使用する必要があります。

User.create_or_get(**nuser) 
+0

そしてそれで解決しました。ありがとうございました! – adamczi

関連する問題