关于GQL的使用问题 - V2EX
DAOCLOUD
推荐学习书目
Python Cookbook
Using Google App Engine
推荐下载
Latest Google App Engine SDK
其他兼容技术
AppScale
Weakdancer

关于GQL的使用问题

  •  
  •   Weakdancer Dec 4, 2010 4787 views
    This topic created in 5654 days ago, the information mentioned may be changed or developed.
    今天刚看了GAE database ,对GQL的使用很困惑


    <script src="https://gist.github.com/728218.js"> </script>


    NowDay,NoTime,NowWeek,都是整型.


    现在我想实现代码中的那句查询用GQL该怎么写?

    这样写肯定不对:

    db.GqlQuery("SELECT * FROM time WHERE KCB.time[0] =NowDay AND KCB.time[-1] =NowTime AND NowWeek IN KCb.week ORDER BY date DESC LIMIT 1000")

    应该怎么写呢?望指教.
    3 replies    1970-01-01 08:00:00 +08:00
    Weakdancer
        1
    Weakdancer  
    OP
       Dec 4, 2010
    Weakdancer
        2
    strong>Weakdancer  
    OP
       Dec 4, 2010
    keakon
        3
    keakon  
       Dec 5, 2010
    楼主的表述真的很难懂…

    没猜错的话,你是要把if NowDay==KCB.time[0] and NowTime==KCB.time[-1] and NowWeek in KCB.week改成GQL查询条件吧

    简单来说就是不行,因为datastore不支持复杂的查询,只能将一个属性作为一个整体来查询,不能查询time[-1]这种

    因此你只能这样:
    KCBs = db.GqlQuery("SELECT * FROM kcb WHERE week = :1 ORDER BY date DESC LIMIT 1000", NowWeek)
    for KCB in KCBs:
    if NowDay==KCB.time[0] and NowTime==KCB.time[-1]:
    #...

    week是一个ListProperty,查询的时候直接用=就行了,IN的语义不是你理解的这样的

    最后提醒一下,不是有特殊需求的话不要用GQL,因为查询较复杂时,构造非常不方便,而且性能很差。所有GqlQuery对象都能用等价且更方便高效的Query代替。
    About     Help     Advertise     Blog     API     FAQ     Solana     2600 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 15:50 PVG 23:50 LAX 08:50 JFK 11:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86