是否可以将SQLObject返回的结果按另一个表的值进行排序?
我有两张桌子:
class Foo(SQLObject):
bar = ForeignKey('Bar')
class Bar(SQLObject):
name = StringCol()
foos = MultipleJoin('Foo')
我希望foo
按照与name
相关的bar
排序。
这样做的:
foos = Foo.select().orderBy(Foo.q.bar)
...会根据bar
的ID对输出进行排序,但如何按bar
的名称对其进行排序?
答案 0 :(得分: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 mailing list。