我正在使用 flask-mongoengine 扩展,并且我有一个这样的 User 类:
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__
并通过 args 传递所有内容,它工作正常。
所以我发现我在 中做错了什么__init__
,也许是由于文档超类?我非常坚持这一点,将不胜感激你的帮助。