如果我有这样的课程:
class UpdateDocument(Document):
modified_date = DateTimeField()
meta = {'allow_inheritance': True}
def save(self, *args, **kwargs):
self.modified_date = datetime.utcnow()
return super(UpdateDocument, self).save(*args, **kwargs)
这不起作用,因为如果它被另一个文档继承,它将无法将自己保存到自己的类中,例如:
class New(UpdateDocument):
name = StringField()
当您保存它时,它将作为更新文档插入到数据库中。概括save方法的变通方法是什么。这也是更新索引问题的一部分,但我更关心的是平衡类继承
一种解决方案是使用mongoengine中的signals功能。从文档中:
这将在保存所有文档之前对其应用update\u modified方法。您也可以根据文档使用类方法:
相关问题 更多 >
编程相关推荐