Web2py - mysql - 如何进行 DAL?

Web2py - mysql - how to DAL?

我想将模型导入命令提示符 运行 一些查询。

我有mysql数据库,我正在运行宁以下命令来完成上述任务

$ python web2py.py -S appname -M
.....
>>> db = DAL('mysql://user:password@localhost/db_name')

以上命令没有抛出任何错误。 user/pass 和数据库名称是正确的,因为我能够在 mysql 提示中成功查询数据。

但现在在查阅了文档 http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#select 之后,我尝试在 table 上执行 select,这给了我以下错误

 $ db(db.category).select()
 AttributeError: 'DAL' object has no attribute 'category'

你能帮帮我吗?我怎样才能访问数据。我希望以 DAL 方式进行操作,因为我需要将其进一步嵌入到控制器中。

仅供参考..我能够正确使用 executesql,没有错误

$ db.executesql('select * from category;')
((1L,
  u'tmp',
  u'T',
  datetime.datetime(2016, 9, 27, 16, 14, 59),
  None,
  datetime.datetime(2016, 9, 27, 16, 14, 59),
  None))

db 已经在您的模型中定义,这些模型在您通过 -M 选项后执行。不用再定义了!