0

我对 sql 和谷歌应用引擎中使用的 GQL 非常陌生。我已经设法将我的数据推送到 Google 服务器,但我无法找到一种方法来从我加载到数据存储的实体中进行查询。

这是问题所在,除了下面给出的其他列之外,我只想查询由用户 ID 标记的用户联系人的姓名和号码,

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()

我将用户 ID 作为 UI 的输入,但我无法找到一种使用查询来显示数据的方法。请如果有人可以帮助我在 GQL 中创建查询,这对我来说将是一个很大的帮助。我已经尝试了各种各样的方法,SELECT * FROM MyContacts WHERE __key__ = KEY('user_id',654351)但我什么也没得到。

请帮帮我。

4

1 回答 1

1

由于 User_id 是一个 IntegerProperty,您需要像这样查询:

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

或等效地使用查询:

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

请注意,如果“User_id”取自用户 API 用户对象,则不应将其转换为 int - 它不能保证适合 64 位,因此您应该将其存储为字符串或 UserProperty。

于 2009-10-23T15:48:38.737 回答