簡體   English   中英

構建具有ReferenceProperty條件的GQL查詢(對於Google App Engine)

[英]Build a GQL query (for Google App Engine) that has a condition on ReferenceProperty

說我有以下型號:

class Schedule(db.Model):
    tripCode = db.StringProperty(required=True)
    station = db.ReferenceProperty(Station, required=True)    
    arrivalTime = db.TimeProperty(required=True)
    departureTime = db.TimeProperty(required=True)

讓我們說我有一個存儲在var foo的Station對象。

如何組裝一個返回所有Schedule對象的GQL查詢,並引用foo引用的Station對象?

這是我最好的(雖然不正確 )嘗試形成這樣的查詢:

myQuery = "SELECT * FROM Schedule where station = " + str(foo.key())

foo再一次是Station對象

您不應該使用字符串替換將用戶數據插入GQL字符串。 GQL支持參數替換,因此您可以這樣做:

db.GqlQuery("SELECT * FROM Schedule WHERE station = $1", foo.key())

或者,使用Query接口:

Schedule.all().filter("station =", foo.key())

更簡單的方法是通過將'collection_name'字段添加到ReferenceProperty來更改模型定義:

station = db.ReferenceProperty(Station,required = True,collection_name =“schedules”)

然后你可以這樣做:

foo.schedules

無論何時你想獲得所有車站的時刻表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM