知道哪个django子查询匹配一行

时间:2014-12-12 12:39:52

标签: django

在django 1.6应用程序中,我有一行代码如下:

data = query_set.filter(Q1 | Q2).values('pk', *fields)

现在我发现后面的代码处理数据需要知道哪些行匹配Q1而哪些行没有匹配。我试过这个:

data = (query_set.filter(Q1).extra(select={'matched_q1': 1}) |
        query_set.filter(Q2)).values('pk', *fields)

然而这并没有按预期工作,因为matched_q1值已应用于所有行,即使那些仅匹配Q2但与Q1不匹配的行。

有没有什么方法可以更新查询,从结果中知道哪些行与第一个Q对象匹配?

0 个答案:

没有答案