私は小さなテストプログラムにSQLiteを使用していましたが、最近はPostgresに移行しました。しかし、今私はデータベースにユーザーを追加しようとすると問題が発生します。私はPostgresだけでSQLite上でこの問題を起こさなかった。フラスコ/ sqlalchemy _init_()DBエントリを追加するときにTypeError?
My DBスキーム。
class User(UserMixin, db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, nullable=False)
username = db.Column(db.String(64), index=True, nullable=False, unique=True)
password = db.Column(db.String(128), nullable=False)
user_roles = db.Column(db.String(64), nullable=False)
エントリを追加しようとするときのフォーム。
username = request.form['email']
plain_pass = request.form['pass']
hash_pass = hash_password(plain_pass)
role = 'instructor'
add_user = User(username=username,
password=hash_pass,
user_roles=role) # This is the line from the error
# I can browse the DB and I know the that table/column is created
# In pyCharm it comes up as an unexpected argument?
db.session.add(add_user)
db.session.commit()
ここでは完全なトレースです。
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\flask\app.py", line 1994, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python34\lib\site-packages\flask\app.py", line 1985, in wsgi_app
response = self.handle_exception(e)
File "C:\Python34\lib\site-packages\flask\app.py", line 1540, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Python34\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Python34\lib\site-packages\flask\app.py", line 1982, in wsgi_app
response = self.full_dispatch_request()
File "C:\Python34\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Python34\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Python34\lib\site-packages\flask\_compat.py", line 33, in reraise
raise value
File "C:\Python34\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Python34\lib\site-packages\flask\app.py", line 1598, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\chrisutpg\Desktop\Programing\UTPPv2\app\mod_auth\views.py", line 18, in show_signup
forms.Signup()
File "C:\Users\chrisutpg\Desktop\Programing\UTPPv2\app\mod_auth\forms.py", line 15, in Signup
user_roles=role)
TypeError: __init__() got an unexpected keyword argument 'user_roles'
私はかなり困惑しています。 user_rolesを他の名前に変更しようとしましたが、私はまだ同じ問題を抱えています。
ご協力いただければ幸いです。
はい、それは正しく借りています。ちょうどフォーマットの問題を私はそれを投稿した。私はそれを反映するように編集します。私はそれが修正の容易だったことを望む! –