gpt4 book ai didi

python - 按给定字段连接 2 个 django 查询集并按顺序排序

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:41 24 4
gpt4 key购买 nike

我有以下模型:

class TimeStamp():
mydate = models.DateTime()
value = models.Integer()
cat = models.CharField()

数据表看起来像这样:

mydate   | value  | cat
=======================
1st Jan | 10 | A
2nd Jan | 10 | A
3rd Jan | 10 | A
4th Jan | 5 | A
1st Jan | 5 | B
2nd Jan | 20 | B
3rd Jan | 15 | B
4th Jan | 30 | B

输出表看起来像这样,所以我们通过匹配日期进行连接,然后按 A 的值排序,然后按 B 的值排序。请注意下表是预期输出,请注意日期的顺序以及 value_A 和 value_B< 的顺序/p>

mydate   | value_A  | value_B
==============================
4th Jan | 5 | 30
1st Jan | 10 | 5
3rd Jan | 10 | 15
2nd Jan | 10 | 20

我可以获得2个查询集:

qs_a = TimeStamp.objects.filter(cat='A')
qs_b = TimeStamp.objects.filter(cat='B')

我不知道如何将这两个连接在一起。请注意 |将合并 2 组,这不是我想要的......我想加入这 2 个查询集,然后按 A 排序,然后按 B 排序,以便日期列表按 Cat=A 的值然后 Cat=B 的值的顺序排列。

最佳答案

您可以使用itertools chain来做到这一点。

from itertools import chain
qs_chain = chain(qs_a, qs_b)

这能回答你的问题吗?

关于python - 按给定字段连接 2 个 django 查询集并按顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59733990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com