Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django 2.0中创建这个复杂的用户过滤器?_Django_Django Filter - Fatal编程技术网

如何在Django 2.0中创建这个复杂的用户过滤器?

如何在Django 2.0中创建这个复杂的用户过滤器?,django,django-filter,Django,Django Filter,我有几个重叠的类别。我想根据每个人的类型、专业和居住地对他们进行搜索和筛选 class Profile(models.Model): user = models.OneToOneField(User, on_delete = models.CASCADE) gender = models.CharField(choices = GENDER_CHOICES) country = models.C

我有几个重叠的类别。我想根据每个人的类型、专业和居住地对他们进行搜索和筛选

class Profile(models.Model):
    user              =  models.OneToOneField(User, on_delete = models.CASCADE)  
    gender            =  models.CharField(choices = GENDER_CHOICES)
    country           =  models.CharField(choices = COUNTRY_CHOICES)
    city              =  models.CharField(choices = CITY_CHOICES)

class License(models.Model):
    user              =  models.OneToOneField(User, on_delete = models.CASCADE)
    types             =  models.CharField( choices = TYPES)
    specialization    =  models.CharField( choices = SPECIALIZATION_CHOICES)
这是我的过滤器

def search(request):
    profiles = Profile.objects.all()
    if request.method == 'POST':
        types           = request.POST['types']
        specialization  = request.POST['specialization']
    
        country         = request.POST['country']
        city            = request.POST['city']
        gender          = request.POST['gender']
        if types or specialization or username or country or city or gender:

            license_match = License.objects.filter(
                Q(types__exact = types)|
                Q(specialization__exact = specialization)
                )

            profile_mutch = Profile.objects.filter(
                Q(country__exact = country)|
                Q(city__exact = city)|
                Q(gender__exact = gender)
                )

            if license_match or profile_mutch:

                license_match = License.objects.filter(
                Q(types__exact = types)|
                Q(specialization__exact = specialization)
                )

                profile_mutch = Profile.objects.filter(
                Q(country__exact = country)|
                Q(city__exact = city)|
                Q(gender__exact = gender)
                )
                mutch = profile_mutch and license_match
                paginator   = Paginator(mutch, 60)
                page        = request.GET.get(mutch, 1)
                page_number = request.GET.get(page)
                page_obj    = paginator.get_page(page_number)

                return render(request, 'search_result.html', {'page_obj': page_obj, 'result': mutch, 'profiles': profiles})

            else:
                messages.error(request, 'No result found.')

        else:
            return HttpResponseRedirect('result')

    else:
        profile_mutch = Profile.objects.all()
        license_match = License.objects.all()
        mutch = profile_mutch and license_match

        paginator       = Paginator(mutch, 60)
        page            = request.GET.get(mutch, 1)
        page_number     = request.GET.get(page)
        page_obj        = paginator.get_page(page_number)
        return render(request, 'search_result.html', {'page_obj': page_obj, 'result': mutch, 'profiles': profiles})
我的模板中有多个字段表单,但此查询集返回此错误

基数为10的int()的文本无效:“”

第'Q行(性别=性别)

`第一个