0

私はSQLに非常に慣れておらず、Googleアプリエンジンで使用されるGQLよりも優れています。データを Google サーバーにプッシュすることはできましたが、データストアにロードしたエンティティからクエリを実行する方法がわかりません。

ここに問題があります。以下に示すような他の列とは別に、ユーザー ID でマークされたユーザーの連絡先の名前と番号のみをクエリしたいのですが、

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

これは、MyContacts エンティティ定義を含む Models.py ファイルです。

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' が Users API User オブジェクトから取得された場合、int にキャストしないでください。64 ビットに収まるとは限らないため、文字列または UserProperty として格納する必要があります。

于 2009-10-23T15:48:38.737 に答える