1

我一直在浏览sqlobject和 sqlbuilder 文档和论坛,但我似乎无法掌握那里的信息。

我有一个我需要的特定 SQL 查询:

select distinct author from blogtable where keyword = "dust";

多个作者可以发布多个主题。

如果我使用原始 sql 查询,该查询适用于 MySQL 数据库。但我似乎无法理解我必须做什么才能在 SQLObject 中正常工作。

我看到大量对 sqlbuilder 的引用,但手册页不是很广泛。谷歌群组中提供的示例也好像 SQLbuilder 是答案,但同样,没有我能理解的具体示例(针对我的问题)。

精通 SQLObject 的人可以向我解释我如何在 SQLObject 中实现上述 SQL 吗?如果不可能,我可以通过 SQLObject 以任何方式将原始 sql 传递给底层 db 吗?

4

1 回答 1

1

我对 SQLObject 没有太多经验,但从文档中我推断它应该是这样的:

class Blog(SQLObject):
    class sqlmeta:
        table = 'blogtable'

    author = StringCol()
    keyword = StringCol()

Blog.select(Blog.q.keyword=='dust', distinct=True)

版本 2

select = Select(
    [Blog.q.author],
    Blog.q.keyword=='dust',
    distinct=True,
)

sql = connection.sqlrepr(select)

for author in connection.queryAll(sql):
    print author
于 2010-11-07T23:06:58.607 回答