2

我在 web2py DAL 中有这个模型:

db.define_table('category',
     Field('name','string'),
     format='%(name)s'
)

db.define_table('uploaded_question',
    Field('text','string'),
    ...
    Field('category', 'string')    
)

这:

db.category(db.category.name == uploaded_question.category) always

在 GAE 沙箱中不返回任何内容(在 SQLlite 中可以正常工作)。

我应该如何调整这句话以在 GAE 中工作?

4

1 回答 1

2

我无法从部分代码中看出,但似乎您正在做两件事:1)您正在反规范化(db.uploaded_question.category 是一个字符串而不是引用)2)您正在执行内部 JOIN(即使类别不是参考)。你的语法不正确应该是

   rows = db(db.category.name == db.uploaded_question.category).select()

问题是你不能在 GAE 上做 JOIN。他们不支持连接。

无论如何,如果你已经非规范化,不清楚你为什么要加入,所以也许我误解了。

我们很乐意在 web2py 邮件列表上为您提供更多帮助。

于 2010-09-22T15:06:04.760 回答