def get_query_params( self, need_to_get ): #словарь параметров для запроса или словарь примененных фильтров при выводе результата names, have_choices = Car.get_fields_names( ) #тут баловство с choices integer. можно было его сделать строковым. query_dict = {} if need_to_get == 'name': query_dict = { name: self.request.GET.get(name) for name in names.keys() if self.request.GET.get(name) } elif need_to_get == 'verbose_name': for name, verbose_name in names.items(): value = self.request.GET.get(name) if value: if name in have_choices: query_dict[verbose_name] = [ y for x, y in have_choices[name] if str(x) == value ][0] else: query_dict[verbose_name] = value else: raise Exception('Непредусмотренное значение параметра') logger.debug('query_dict ({}): {}'.format(need_to_get, query_dict)) return query_dict