python - 按 SQLObject 中的外键引用的另一个表的字段排序

标签 python sorting sqlobject

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

我有两个表:

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

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

我想获取按与其相关的 barname 排序的 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/

相关文章:

python - 如何对因库函数而挂起的函数实现超时?

python - 将导入的 C DLL 的 stderr 重定向到任意文件

python - 使用 subprocess.Popen 顺序执行 python 脚本

php - 排序具有指定键值的数组 PHP

python - 可以通过自定义 SQLObject Select 调用获取生成器吗?

python - 查找最不常出现的模糊字符串

c++ - 快速排序 - Middle Pivot 实现奇怪的行为

python - Jinja2 中是否可以按长度对列表进行排序?

python:为什么 SQLObject 在 conn.autocommit(1) 中失败?