如果我有这样的课程:
class Name: field1 = ... field2 = ... ...
我不知道用户应该给出什么字段或模型,因此键将是模型中的字段名称,值是我应该寻找的值。
并基于一些如果我必须用 field1 或 2 过滤它们并且我从变量的输入中获得它们?
如果 name 是 Name 的实例,并且 key = field1 且 value='example_to_look' ,我想要
name.objects.filter(key=value)
不是name.objects.filter(field1=value)
我想在不同的类和领域使用它,所以 if 不是我想要的。 raw() 总是触发一个新的查询,并且不考虑之前的过滤,但我需要它们全部,而且我必须一一过滤!
我们必须创建一个像 do_filter={key:value} 这样的字典,然后对每个字典使用 query_set =model.objects.all() 然后 query_set.filter(**do_filter) :) 这样你就可以根据给定的变量动态生成我们的query_set。