icontains在django mysql中无法正常工作吗?

时间:2019-04-28 10:44:14

标签: django search

在主页面上,我有一个搜索表单,可以搜索该应用程序的所有数据,学生,课程,教师和用户,为此,我做到了。这很好。但是,如果学生和老师的名字相同,则可以仅给出一个学生或老师的结果。是否有其他方法仅通过一种搜索形式来搜索应用程序的学生,课程,教师和用户的所有数据。同样,此 contains方法提供区分大小写的数据。它的行为类似于确切的方法,我正在使用mysql作为数据库。

  

views.py

def searchall(request):
    q = request.GET.get('q')
    if q:
        courses = Course.objects.filter(title__icontains=q)
        students = Student.objects.filter(name__icontains=q)
        teachers = Teacher.objects.filter(name__icontains=q)
        users = User.objects.filter(username__icontains=q)
        if courses:
            return render(request,'students/view_course.html',{'courses':courses})
        elif students:
            return render(request,'students/view_students.html',{'students':students})
        elif teachers:
            return render(request,'students/view_teacher.html',{'teachers':teachers})
        elif users:
            return render(request,'students/view_users.html',{'users':users})
        else:
            messages.info(request, 'no results found for {}'.format(q))
            return redirect('students:home')
    else:
        return request('students:home')
  

模板

 <li class="search-box">
        <a class="nav-link hidden-sm-down" ><i class="iconsmind-Magnifi-Glass2"></i></a>
        <form class="app-search" style="display: none;" action="{% url 'students:search_all' %}">
            <input type="text" name="q" class="form-control" placeholder="Search &amp; enter"> <a class="srh-btn"><i class="ti-close"></i></a>
        </form>
      </li>

0 个答案:

没有答案