想知道我是否在我的最后一行代码中无意识地使用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)
答案 0 :(得分:2)
虽然该方法肯定会更新内存中对象的副本,但我认为没有任何理由相信该更改将持久保存到数据存储区。数据存储区写入操作成本很高,因此它们不会隐式发生。
运行此代码后,使用数据存储区查看器查看数据存储区中对象的副本。我认为您可能会发现它没有更改的total_point值。