0

Web サイトにユーザー登録フォームを実装しようとしていますが、ユーザー入力を新しいユーザーとしてデータベースに追加することができません。私は 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 は新しいユーザーの一時的な辞書です。公式のpeeweeドキュメントで、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 

Web ユーザー側からは「動作」しているように見えますが、データベースにはレコードが追加されません。以前はそれを実行して機能しましたが、コードを短縮し、より効率的に見えるため、メソッドUser.select().where(User.uname......に切り替えたいと思います。create_or_get()古いユーザーのログインが機能するため、DB への接続とアクセスは問題ありません。ヒントをいただければ幸いです。

4

1 に答える 1

1

リンク先の公式ドキュメントは、create_or_getキーワード引数のみを取ることを示しています。**dict を渡すには、次の構文を使用する必要があります。

User.create_or_get(**nuser)
于 2016-07-22T11:49:38.997 に答える