Проблема с запросом в движке приложения Google - PullRequest
0 голосов
/ 23 октября 2009

Я очень новичок в SQL и более в GQL, используемом в движке приложений Google. Мне удалось отправить свои данные на серверы Google, но я не могу найти способ запроса от сущностей, которые я загрузил в хранилище данных.

Вот проблема, я хочу запрашивать только имена и номера контактов пользователя, отмеченных идентификатором пользователя, кроме других столбцов, как указано ниже,

Name Number       User_id Country    
Rob  0065114146   654351  singapore
Mark 0065132411   654351  singapore
Tina 0065221916   846611  singapore
Nick 0065214126   846611  singapore

Это мой файл Models.py, в котором у меня есть определение сущности MyContacts,

Class MyContacts(db.Model): 
  Name = db.StringProperty(required=True) 
  Number = db.PhoneNumberProperty(required=True) 
  User_id = db.IntegerProperty(required=True) 
  Country = db.StringProperty()

Я принимаю идентификатор пользователя в качестве ввода от пользовательского интерфейса, но я не могу найти способ вызвать данные с помощью запроса. Пожалуйста, если кто-то может помочь мне найти запрос в GQL, это будет очень полезно для меня. Я пробовал все виды как SELECT * FROM MyContacts WHERE __key__ = KEY('user_id',654351), но я ничего не получаю.

Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 23 октября 2009

Так как User_id является IntegerProperty, вам нужно сделать запрос следующим образом:

db.GqlQuery("SELECT * FROM MyContacts WHERE User_id = :1", some_int)

или эквивалентно запросу:

MyContacts.all().filter('User_id =', some_int)

Обратите внимание, что если 'User_id' взят из объекта User API пользователя, вы не должны приводить его к типу int - он не гарантированно помещается в 64 бит, поэтому вы должны хранить его как строку или как UserProperty.

...