django:连接2个查询或特殊订单?

时间:2012-11-07 16:20:32

标签: python django concatenation

我必须提出这样的问题:

similar_brokers_ = Profile.objects.filter(Q(tp=broker.tp) |  Q(md=broker.md)).exclude(Q(id=broker.id))[:4]

我需要获得4个类似的代理,它们具有相同的tp字段或md字段

所以这个查询会这样做,但是我需要先将具有相同tp字段的代理放在第一位,然后再将它们放在具有相同md字段的代理中。

我怎样才能做得更好?

例如:

broker1  with tp=1, md=100
broker2  with tp=2, md=100
broker3  with tp=1, md=99

让经纪人与broker1相似: 首先应该broker3tp = 1)和broker2md = 100)

1 个答案:

答案 0 :(得分:1)

你试过order_by('tp', 'md')了吗?请参阅order_by

的文档