我想在用户提供的字段中搜索。
到目前为止,我有这个:
def search_engine(model, given_field, text):
# Stuff
result = model.objects.filter(given_field__icontains=text)
return result
" given_field"内部过滤器将是函数中给出的参数,它是一个变量。
答案 0 :(得分:1)
使用从use the index name here
|
v
POST test/test/test?routing=1
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
生成的动态密钥创建一个dict,然后使用given_field
将其解压缩以生成关键字参数。
**
答案 1 :(得分:0)
此代码解决了我的问题:
def students(request):
if request.method == 'GET':
if request.GET.items():
# this condition will check wether we are passing any filters
filters = {}
for key, value in request.GET.items():
if value != '':
filters[key] = value
students = Students.objects.filter(**filters)
# we can see only filtred students
else:
students = Students.objects.all()
# we can see all students without any filters when we enter in to page
return render(request, 'students.html', {'students': students})