我想有這樣的方法:是否有可能事務上突變GAE實體?
class Counter(db.Model):
n = db.IntegerProperty()
@db.transactional
def increment(self):
entity = db.get(self.key())
entity.n += 1
self.n = entity.n
db.put(entity)
除了在礦山,可以有相當多的更多屬性參與,有點邏輯的周圍哪些時得到更新。在'自我'集上每次更改'實體'後,似乎都是多餘且容易出錯的。
我可以以某種方式做到這一點,而不必明確更新每個self.{prop}
的變化的屬性?想到.properties()
和.dynamic_properties()
。實體是否有可能需要同步的其他任何狀態?
不確定你的意思是不「明確更新」屬性。當你更新財產時,任何「邏輯」都會被照顧,當然?你能舉一個你想要發生什麼的例子嗎? – 2013-05-06 22:00:39
我不得不問,爲什麼你要在增量方法中取得實體,如果你有'self.key()',那麼你已經有了這個對象。我認爲你需要考慮你實際上想要達到的目標以及你如何去做。 – 2013-05-08 01:24:38
@TimHoffman我想以事務方式更新它。 – 2013-05-08 04:19:29