我需要根据用户定义的步幅对数据点进行不同的分组,并且我希望最大限度地减少与 django 交互的代码中的原始 SQL 数量。问题“我可以在MySQL中创建带参数的视图吗? https://stackoverflow.com/questions/2281890/can-i-create-view-with-parameter-in-mysql”,似乎是创建参数化视图的好方法,但它要求我在执行主查询之前以某种方式设置一个变量。
因此,在查询集上执行任何查询之前,如何在 mysql 连接中设置参数值?如果我有模型Foo
我做了非常基本的事情:
Foo.objects.all()
我如何将以下内容作为序言注入到 django ORM to SQL 编译器发出的任何代码中?
set @my_param := 5;
我想我有一个适用于我当前的 MySQL 后端的解决方案。我相信这可能取决于未指定的评估顺序,并且可能会在未来的版本更改中中断:
Foo.objects.extra(where=('5 = (select @my_param := 5)',)).all()[0]
django 生成的 SQL 是:
SELECT `srvr_foo`.`id`
FROM `srvr_foo`
WHERE (5 = (select @my_param := 5))
LIMIT 1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)