在Django中合并多个表的查询
我有两个表,分别叫做 data_table
和 old_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 查询的文档。