在PeeWee ORM中从父对象引用时如何排序子记录

问题描述 投票:0回答:1

如何为在Peewee中通过外键返回的记录指定顺序?

我有以下(简化的)模型;

class Order(peewee.Model):
    order_no = peewee.CharField()

class OrderLine(peewee.Model):
    order_item = peewee.CharField()
    quantity = peewee.IntegerField()
    price = peewee.DecimalField()

    order = peewee.ForeignKeyField(Order)

[当我使用my_order = Order.get(1234)提取订单时,我想以特定顺序(有时以order_item顺序,有时以quantity顺序)遍历订单行。有没有办法做到这一点?目前,它们似乎从数据库中以order_item.id的顺序返回。

python peewee
1个回答
0
投票

[外键(Order.orderline_set)的反向引用只是一个选择查询的包装,因此您可以按自己的意愿对其进行排序:

for item in order.orderline_set.order_by(OrderLine.quantity):
    ...
© www.soinside.com 2019 - 2024. All rights reserved.