如何删除ndb ComputedProperty

时间:2016-01-27 08:14:10

标签: python google-app-engine google-cloud-datastore app-engine-ndb

我无法继续使用ComputedProperty。

如果我删除模型中的属性,那么,当我得到一个结果时,我可以看到最后一个值。

dbExamCorrection(key=Key('dbExamCorrection', 4519216128458752), aid=6744627663077376, c=0, ca=0, correct=5, created=datetime.datetime(2016, 1, 26, 11, 40, 10, 35968), dm=0, feedback=None, ga=0, gv=0, ic=0, l=0, o=0, p=0, percent1=83.33333333333333, percent2=0.0, percent3=0.0, percent=None, questions=6, score=None, sum2=0L, sum=0L, tid=0, updated=datetime.datetime(2016, 1, 27, 7, 43, 47, 951561))

但如果我访问该值,则会引发:

'dbExamCorrection' object has no attribute 'percent1'

我不想在模型中存储过时的信息。

提前致谢。

1 个答案:

答案 0 :(得分:0)

此处概述了一种方法 - Migrating data when changing an NDB field's property type

基本上获取底层实体(不使用ndb) - 你得到一个字典,然后删除键/值,然后保存实体。

如果您的实体数量少于50,000个,那么通过远程api可能更容易实现这一点,因为这意味着您可以在不部署新代码的情况下执行此操作。