查询本身是正确的,我能够得到原始查询集。我需要将其转换为查询集以便进一步处理,我面临以下错误
创建相应的django查询对我来说很困难,这就是为什么我创建了SQL查询,获得了原始查询集,现在尝试将其转换为查询集以进行进一步处理
为了匿名,我更改了模型和表名
queryset = Test1.objects.filter(id__in=RawSQL("SELECT DISTINCT ON (test1.start_time, test1.id) test1.id, test1.name, test1.start_time FROM test1 WHERE EXISTS (SELECT * FROM test2 JOIN test3 ON test2.test3_id = test3.id AND test3.value = '{param}' JOIN test4 ON test2.test4_id = test4.id AND test4.test1_id = test1.id) ORDER BY test1.start_time DESC".format(param=val)))
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: __init__() missing 1 required positional argument: 'params'
这是格式化的原始查询
SELECT
DISTINCT ON (test1.start_time, test1.id) test1.id,
test1.name,
test1.start_time
FROM
test1
WHERE
EXISTS (
SELECT
*
FROM
test2
JOIN test3 ON test2.test3_id = test3.id
AND test3.value = '{param}'
JOIN test4 ON test2.test4_id = test4.id
AND test4.test1_id = test1.id
)
ORDER BY
test1.start_time DESC.format(param = val)
)
目前没有回答
相关问题 更多 >
编程相关推荐