Я делаю свой первый небольшой проект на Python (GAE), и нет проблем в работе с базой данных GAE с использованием запросов. Но когда дело доходит до редактирования одной сущности, у меня возникает проблема
Все, что мне нужно, это простой счетчик, который будет увеличиваться при каждом посещении сайта.
Итак, я создаю Entity (это делается один раз, просто для создания Entity, затем этот код удаляется из проекта):
counter_name = 'default_counter'
def counter_key(counter_n=None):
return db.Key.from_path('Counter', counter_name)
class Counter(db.Model):
amount = db.IntegerProperty()
class CounterClass(webapp.RequestHandler):
def get(self):
counter = Counter(counter_key(counter_name))
counter.amount = 0
counter.put()
Это нормально.
Но когда я пытаюсь увеличить его, используя:
counter = db.get(db.Key.from_path('Counter', 'default_counter'))
counter.amount += 1
counter.put()
Я получаю эту ошибку.
ОШИБКА 2011-09-06 21: 49: 41,562 _webapp25.py:464] Объект 'NoneType'
не имеет атрибута отслеживания количества (последний вызов был последним): файл
"C: \ Program Files
(X86) \ Google \ google_appengine \ Google \ AppEngine \ вн \ webapp_webapp25.py»,
линия 703, вызов
Файл handler.post (* groups)
"H: \ gae-bin \ counter.py", строка
48, в посте
counter.amount + = 1 AttributeError: у объекта 'NoneType' нет
атрибут «количество»
Я проверил различные варианты, но все еще не могу изменить значение сущности.
Что я делаю не так?
Заранее спасибо.