Google App Engine - это тоже метод Put? Или что-то другое - PullRequest
1 голос
/ 25 декабря 2009

Интересно, неосознанно ли я использую метод 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 Ответ

2 голосов
/ 25 декабря 2009

Хотя этот метод, безусловно, обновит копию объекта, находящегося в памяти, я не вижу причин полагать, что изменение будет сохранено в хранилище данных. Операции записи в хранилище данных являются дорогостоящими, поэтому они не будут выполняться неявно.

После запуска этого кода используйте средство просмотра хранилища данных, чтобы просмотреть копию объекта в хранилище данных. Я думаю, что вы можете обнаружить, что у него нет измененного значения total_point.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...