Никак не получается подружить Flask с MongoDB. Есть две модели: User и Project. Обе наследуются от db.Document, Для обеих создаётся форма с помощью model_form. Вернее, для User он создаётся, а для Project выбрасывает исключение:
TypeError: model must be a mongoengine Document schema
Вот исходный код моделей:
class Project(db.Document):
created_at = db.DateTimeField(default=datetime.datetime.now, required=True)
name = db.StringField(max_length=255, required=True)
description = db.StringField()
class User(db.Document):
username = db.StringField(max_length=255, required=True)
email = db.StringField(max_length=255)
password_hash = db.StringField(max_length=128, required=True)
password_salt = db.StringField(max_length=32, required=True)
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return self.username
Вот код, генерирующий формы:
UserForm = model_form(User) # работает
ProjectForm = model_form(Project, exclude=['created_at']) # не работает, выбрасывает то самое исключение.