就我而言,我有一些来自表单的列名.我想过滤以确保它们都是真的.这是我目前的做法:
for op in self.cleaned_data['options']:
cars = cars.filter((op, True))
Run Code Online (Sandbox Code Playgroud)
现在它可以工作,但是有可能有大约40列要测试,因此保持查询效率不高.
有没有办法可以将它压缩成一个过滤查询?
将查询构建为字典,并使用**运算符将选项解压缩为filter方法的关键字参数.
op_kwargs = {}
for op in self.cleaned_data['options']:
op_kwargs[op] = True
cars = CarModel.objects.filter(**op_kwargs)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |