Получение сообщения об ошибке (если значение не None и не value.has_key ()) - PullRequest
0 голосов
/ 11 марта 2012

Я пытаюсь сохранить событие.Но это не работает.Не могли бы вы помочь?Большое спасибо

query = []
query = Identity.all().filter('name =', 'k').fetch(1)
if query:
  for q in query:
    event_id = q.key().id()

    Event(description=description, identity=event_id)

Модель события

class Event(search.SearchableModel):
   description = db.TextProperty(required=True)
   identity = db.ReferenceProperty(Identity)

Получение сообщения об ошибке>

if value is not None and not value.has_key():
AttributeError: 'long' object has no attribute 'has_key'

1 Ответ

0 голосов
/ 11 марта 2012

Вы присваиваете идентификатор объекта в ReferenceProeprty, это неправильно.
Ваш код должен выглядеть примерно так:

query = Identity.all().filter('name =', 'k').get()
if query:
    Event(description=description, identity=q)

Кроме того, вместо использования собственного атрибута имени, который вы используете, используйтеАтрибут buitin key_name, который есть у каждой модели, быстрее и дешевле.

query = Identity.get_by_key_name(k)
if query:
    Event(description=description, identity=q)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...