Как получить все объекты типа с обязательным свойством в Google App Engine? - PullRequest
0 голосов
/ 14 апреля 2009

У меня есть модель, которая имеет обязательное строковое свойство, подобное следующему:

class Jean(db.Model):
    sex = db.StringProperty(required=True, choices=set(["male", "female"]))

Когда я пытаюсь вызвать Jean.all (), python жалуется на отсутствие обязательного свойства.

Конечно, должен быть способ получить их все.

Если Стив прав (его ответ имеет смысл). Как я могу определить, является ли это причиной проблемы? Как мне узнать, что именно находится в моем хранилище данных?

1 Ответ

1 голос
/ 14 апреля 2009

Возможно, у вас есть старые данные в хранилище данных без полового свойства (добавленные до того, как вы указали требуемое свойство), затем система жалуется, что существует запись без полового свойства.

Попробуйте добавить значение по умолчанию:

class Jean(db.Model):
    sex = db.StringProperty(required=True, choices=set(["male", "female"]), default="male")

Надеюсь, это поможет.

/ редактирование: Перейдите в локальную программу просмотра хранилища данных (по умолчанию http://localhost:8080/_ah/admin/) и перечислите свои сущности. Вы можете попробовать исправить проблему вручную (если это возможно), заполнив отсутствующее свойство.

...