1

sqlobjectとsqlbuilderのドキュメントとフォーラムを調べてきましたが、そこにある情報を把握できないようです。

必要な特定のSQLクエリがあります。

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

複数の著者が複数の主題について投稿できます。

生のSQLクエリを使用すると、クエリはMySQLデータベースで機能します。しかし、これをSQLObjectで正しく機能させるために何をしなければならないのか理解できないようです。

sqlbuilderへの参照が山ほどありますが、マニュアルページはそれほど広範ではありません。グーグルグループで提供されている例も、SQLbuilderが答えであるかのように話しますが、繰り返しますが、私が理解できる特定の例(私の問題)はありません。

SQLObjectに精通している人が、SQLObjectに上記のSQLを実装する方法を説明してもらえますか?不可能な場合は、SQLObjectを介して生のSQLを基になるデータベースに渡すことはできますか?

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 に答える