I am using flask-mongoengine extension and I have a User class like this:
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
But when I do a simple get:
User.objects.get(email = email)
I get the error:
TypeError: __init__() got an unexpected keyword argument 'password_hash'
but I am setting the password_hash in my init though. Surprisingly, if I delete the whole __init__
and pass in everything by args, it works fine.
So I recon I am doing something wrong in the __init__
, maybe something due the document super class? I am quite stuck on this, would appreciate your help.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…