Есть ли способ загрузить документ MongoDB из класса, используя MongoEngine? В настоящее время я использую функцию загрузчика:
def load_user(username):
user = User.objects(username=username).first()
return user
Это работает, но было бы здорово, если бы соответствующий код мог содержаться внутри класса:
class User(mongoengine.Document):
username = mongoengine.StringField()
full_name = mongoengine.StringField()
email = mongoengine.StringField()
meta = {
'db_alias': 'default',
'collection': 'users'
}
def load(self, username)
self = User.objects(username=username).first()
def save(self, **kwargs):
super(User, self).save(**kwargs)
Очевидно, присваивая self
не работает, поскольку заменяет только переменную self
. Кроме того, если бы я просто заменил все свойства класса на свойства, загруженные в отдельную переменную, я бы создал новый документ, если бы попытался его сохранить, так что это тоже не выглядит жизнеспособным решением.
Есть ли способ достичь этого?