在Django中合并多个表的查询

1 投票
1 回答
520 浏览
提问于 2025-04-17 04:32

我有两个表,分别叫做 data_tableold_data_table,这两个表的结构完全一样。

data_table 里只有一个月的数据,比如从 '2011-10-01' 到现在的这些数据。old_data_table 里则包含了其他的所有数据。

现在如果我想查询从 '2011-09-01' 到 '2011-10-07' 之间的数据,有没有办法在 Django 中从这两个表里查询并把结果合并起来呢?

1 个回答

0

我没有检查过这段代码,但你可能需要类似这样的东西...

from datetime import datetime
from itertools import chain

my_date = datetime.date(2011, 10, 1)
old_data = OldData.objects.filter(date_gte=my_date)
current_data = CurrentData.objects.filter(date_gte=my_date)
all_data = sorted(chain(old_data, new_data), key=lambda x: x.date)

或者你可以查看一下关于原始 SQL 查询的文档。

撰写回答