Mongoengine: TypeError: __init __ () recebeu um argumento de palavra-chave inesperado

Estou usando a extensão flask-mongoengine e tenho uma classe User como esta:

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

Mas quando eu faço um simples obtenho:User.objects.get(email = email)

Eu recebo o erro:

TypeError: __init__() got an unexpected keyword argument 'password_hash'

mas eu estou definindo o password_hash no meu init embora. Surpreendentemente, se eu excluir o todo__init__ e passar em tudo por args, funciona bem.

Então reconheço que estou fazendo algo errado no__init__, talvez algo devido ao documento super classe? Estou bastante preso a isso, agradeceria sua ajuda.

questionAnswers(4)

yourAnswerToTheQuestion