在现有Google AppEngine数据模型/实体中添加新属性的问题

4 投票
1 回答
616 浏览
提问于 2025-04-15 11:47

在GAE(Google App Engine)中,我有一个叫做Foo的模型,里面已经有一些实体。我想给Foo添加一个新属性,叫做memcached,这个属性用来记录上次设置这个值到memcache的时间。如果我尝试根据这个属性进行查询和排序,或者过滤掉那些没有memcached值的实体,结果是那些还没有设置这个属性值的实体不会被返回。请问我是不是漏掉了什么?或者有没有什么简单的方法可以给某个模型的每个实体都设置这个属性的值呢?

我已经创建了一些以下模型的实体,

class Foo(db.Model):
    name = db.StringProperty(required=True)

然后我又给这个模型添加了一个属性,

class Foo(db.Model):
    name = db.StringProperty(required=True)
    memcached = db.DateTimeProperty(required=True, auto_now=True, auto_now_add=True, default=datetime.min)

但是当我对查询进行排序或过滤时,这个新属性的默认值并没有被考虑进去。

1 个回答

8

没办法,只能一个一个去检查你现有的实体,然后添加这个属性。这里有官方文档,可以指导你完成这个过程

撰写回答