是否可以根据另一个表的值对 SQLObject 返回的结果进行排序?
我有两个表:
class Foo(SQLObject):
bar = ForeignKey('Bar')
class Bar(SQLObject):
name = StringCol()
foos = MultipleJoin('Foo')
我想获取按与其相关的 bar
的 name
排序的 foo
。
正在做:
foos = Foo.select().orderBy(Foo.q.bar)
...将按 bar
的 id 对输出进行排序,但如何按 bar
的名称对它们进行排序?
最佳答案
下面是一个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;我的一个 friend 向我指出了这个问题。如果您对 SQLObject 有更多疑问,我邀请您访问 SQLObject mailing list .
关于python - 按 SQLObject 中的外键引用的另一个表的字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1413101/