如何解决函数中mongoengine中的计算字段
为避免在mongoengine Document
上显式计算和设置字段,我希望将其作为计算字段。目前有可能吗?
这是我期望的MWE:
class Task(Document):
meta = {"collection": "tasks"}
@property
def get_values_count(self):
return len(self.values)
dateAdded = DateTimeField()
dateStarted = DateTimeField(default=datetime.utcnow())
values = ListField(IntField())
values_count = IntField(default=get_values_count) # Either this,normal class functions not supported by Documents
# values_count = IntField(default = lambda : len(self.values)) //Or this (this won't compile)
实现这种目标的任何方法吗?
解决方法
如果我正确理解,则您不想在数据库中存储values_count
。因此,您只需使用@property
class Task(Document):
meta = {"collection": "tasks"}
@property
def values_count(self):
return len(self.values)
dateAdded = DateTimeField()
dateStarted = DateTimeField(default=datetime.utcnow())
values = ListField(IntField())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。