Google App Engine - 这也是Put方法吗?或者是其他东西

时间:2009-12-25 14:36:45

标签: google-app-engine

想知道我是否在我的最后一行代码中无意识地使用Put方法(请看一下)。感谢。

class User(db.Model):
  name = db.StringProperty()
  total_points = db.IntegerProperty()
  points_activity_1 = db.IntegerProperty(default=100)
  points_activity_2 = db.IntegerProperty(default=200)

  def calculate_total_points(self):
    self.total_points = self.points_activity_1 + self.points_activity_2

#initialize a user ( this is obviously a Put method )
User(key_name="key1",name="person1").put()

#get user by keyname
user = User.get_by_key_name("key1")

# QUESTION: is this also a Put method? It worked and updated my user entity's total points.
User.calculate_total_points(user)

1 个答案:

答案 0 :(得分:2)

虽然该方法肯定会更新内存中对象的副本,但我认为没有任何理由相信该更改将持久保存到数据存储区。数据存储区写入操作成本很高,因此它们不会隐式发生。

运行此代码后,使用数据存储区查看器查看数据存储区中对象的副本。我认为您可能会发现它没有更改的total_point值。