我正在创建一个应用程序,允许用户过滤数据库中的数百万条记录(使用日期,帖子类型等)。问题在于,使用Django的ORM需要执行的数据库查询有些复杂,因此我需要使用自定义SQL,而且我在处理SQL和Django的这一部分方面没有太多经验。
如果在执行查询之前需要用户指定的过滤器,如何在不知道可能有多少过滤器/参数的情况下放入自定义SQL?然后,如何将通过该自定义查询找到的内容返回到视图中,以便将结果显示在网页上?
我已经看过有关原始和自定义SQL查询的Django文档,但是在Django官方文档之外,没有很多关于自定义SQL查询的文档和帮助,因此我们将不胜感激。
GetValue
此处的示例代码来自文档。假设除WHERE baz =%s外,过滤器还有其他可能的参数。如果用户选择了date =%s和category =%s的可能性,是否需要在python中编写条件并为此创建新查询?还是我可以根据用户想要的过滤条件有条件地修改查询?