【问题标题】:Problem comparing fields with web2py in GAE在 GAE 中将字段与 web2py 进行比较的问题
【发布时间】:2010-09-22 10:57:15
【问题描述】:

我在 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 中工作?

【问题讨论】:

  • 我认为 Field('category', 'string') 应该是 Field('category', db.category)
  • 在这种情况下 rows = db(db.category.id == db.uploaded_question.category).select()

标签: google-app-engine web2py


【解决方案1】:

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

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

问题是您不能在 GAE 上进行 JOIN。它们不支持连接。

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

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

【讨论】:

  • 完美!非常感谢!我现在在 web2py 中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多