1

我的 NDB 数据模型看起来像这样

class Foo(ndb.Model):
    created = ndb.DateTimeProperty(auto_now_add=True)
    # some other properties

    @property
    def readable_created(self):
        return readble_time(self.created)

其中readable_time返回日期时间的一些可读版本(例如“2 天前”)。感谢@property 装饰器,我可以轻松地将它作为myinstance.readable_created. 我想使用 NDB 的Model.to_dict()方法将数据转换为字典,例如将其写入模板。但是,readable_created被此方法忽略并myinstance.to_dict(include=['readable_created'])返回{}.

这是我第一次使用@property装饰器,所以也许我错过了什么?有没有简单的方法解决这个问题?这是一个错误吗?

ndb to_dict 方法的方法不包括对象的关键作品,但应该有更简单的方法。

谢谢!

4

1 回答 1

4

这是设计使然。一些模板引擎允许您直接访问属性,因此您根本不需要使用 to_dict() (正如 Tim Hoffman 指出的那样)。

于 2013-10-10T21:08:41.827 回答