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

发布于 2024-08-04 08:24:09 字数 468 浏览 5 评论 0原文

是否可以根据另一个表的值对 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 的名称对它们进行排序?

Is it possible to sort results returned by SQLObject by a value of another table?

I have two tables:

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

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

I'd like to get foos sorted by the name of a bar they are related to.

Doing:

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

...would sort the output by bar's ids, but how do I sort them by bar's name?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黒涩兲箜 2024-08-11 08:24:09

以下是 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 邮件列表

Below is the answer of a SQLObject maintainer (he has trouble posting it himself because captcha is not displayed):

Do an explicit join:

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

This generates a query:

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

PS. I am the current maintainer of SQLObject. I don't visit stackoverflow.com; a friend of mine pointed me to the question. If you have more questions about SQLObject I invite you to the SQLObject mailing list .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文