2
好的结合,所以我有该模式:参数在谷歌应用程序引擎使用GQL
class Posts(db.Model):
rand1 = db.FloatProperty()
#other models here
和该控制器:
class Random(webapp.RequestHandler):
def get(self):
rand2 = random.random()
posts_query = db.GqlQuery("SELECT * FROM Posts WHERE rand1 > :rand2 ORDER BY rand LIMIT 1")
#Assigning values for Django templating
template_values = {
'posts_query': posts_query,
#test purposes
'rand2': rand2,
}
path = os.path.join(os.path.dirname(__file__), 'templates/random.html')
self.response.out.write(template.render(path, template_values))
因此,当一个实体被添加产生随机浮子(0- 1),然后当我需要抓取一个随机实体时,我希望能够使用简单的SELECT查询。它用错误:
BadArgumentError('Missing named arguments for bind, requires argument rand2',)
现在这个作品,如果我去:
posts_query = db.GqlQuery("SELECT * FROM Posts WHERE rand1 > 1 ORDER BY rand LIMIT 1")
所以很明显我的查询是错误的;一个人如何使用变量在哪里声明:S
耶,谢谢 - 这是固定的,:P虽然它实际上是: WHERE RAND 1>:1个ORDER BY RAND 1 LIMIT 1" ,RAND2 ) 我不小心有'rand'而不是'rand1',因为别人想知道并且需要帮助。 – 2009-08-27 03:54:25