我正在尝试在Django中进行搜索。这是一个搜索表单,带有自由文本输入+一些选项供您选择,以便您可以过滤年份等。到目前为止,这是我在视图中拥有的一些代码,它是进行过滤的部分。我想就此在数据库服务器上花费多少钱提供一些意见。

soknad_list = Soknad.objects.all() ojit_pre

因此,我要做的是,首先列出所有对象,然后检查哪些变量存在(在较早的位置使用GET获取这些变量),然后过滤结果是否存在。但这似乎不太优雅,它可能需要执行很多查询才能达到结果,因此有更好的方法吗?

它确实满足我的要求,但是我想有一种更好/更智能的方法可以做到这一点。有任何想法吗?

最佳答案

过滤器本身不会执行查询,除非您从查询中显式获取项目(例如get),然后list(query)也会执行查询,否则不会执行查询。

关于python - Django objects.filter,这有多“昂贵”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/383760/

10-12 21:40