私はフラスコ モンゴエンジン拡張機能を使用しており、次のようなユーザー クラスがあります。
class User(db.Document, UserMixin):
email = db.StringField(max_length=120, required=True, unique=True)
password_hash = db.StringField(max_length=80, required=True)
active = db.BooleanField()
fb_id = db.StringField(max_length=120, required=False)
def __init__(self, email, password, fb_id=None, active=True):
hashp = md5.md5(password).hexdigest()
self.email=email
self.password_hash=hashp
self.fb_id=fb_id
self.active=active
しかし、単純な取得を行うと:
User.objects.get(email = email)
エラーが発生します:
TypeError: __init__() got an unexpected keyword argument 'password_hash'
ただし、initでpassword_hashを設定しています。驚いたことに、全体を削除__init__
してすべてを引数で渡すと、正常に動作します。
だから私は__init__
、ドキュメントのスーパークラスが原因で何か間違ったことをしていると思いますか? 私はこれにかなりこだわっています。助けていただければ幸いです。