1

是否可以按另一个表的值对 SQLObject 返回的结果进行排序?

我有两张桌子:

    class Foo(SQLObject):
        bar = ForeignKey('Bar')

    class Bar(SQLObject):
        name = StringCol()
        foos = MultipleJoin('Foo')

我想按它们相关的 a对foos 进行排序。namebar

正在做:

    foos = Foo.select().orderBy(Foo.q.bar)

...将按bar的 id 对输出进行排序,但如何按bar的名称对它们进行排序?

4

1 回答 1

3

以下是 SQLObject 维护者的答案(他自己发布时遇到了麻烦,因为没有显示验证码):

进行显式连接:

foos = Foo.select(Foo.q.barID==Bar.q.id, orderBy=Bar.q.name)

这会生成一个查询:

SELECT foo.id, foo.bar_id FROM foo, bar WHERE ((foo.bar_id) = (bar.id)) ORDER BY bar.name

PS。我是 SQLObject 的当前维护者。我不访问stackoverflow.com;我的一个朋友向我指出了这个问题。如果您有更多关于 SQLObject 的问题,我邀请您加入SQLObject 邮件列表

于 2009-09-17T10:02:25.870 回答