diff --git a/taiga/base/filters.py b/taiga/base/filters.py index 12651e6f..a5d74112 100644 --- a/taiga/base/filters.py +++ b/taiga/base/filters.py @@ -57,7 +57,10 @@ class QueryParamsFilterMixin(filters.BaseFilterBackend): query_params[field_name] = field_data if query_params: - queryset = queryset.filter(**query_params) + try: + queryset = queryset.filter(**query_params) + except ValueError: + raise exc.BadRequest("Error in filter params types.") return queryset diff --git a/taiga/projects/api.py b/taiga/projects/api.py index 55febb1d..530ac27b 100644 --- a/taiga/projects/api.py +++ b/taiga/projects/api.py @@ -57,6 +57,7 @@ class ProjectViewSet(ModelCrudViewSet): list_serializer_class = serializers.ProjectSerializer permission_classes = (permissions.ProjectPermission, ) filter_backends = (filters.CanViewProjectObjFilterBackend,) + filter_fields = (('member', 'members'),) def get_queryset(self): qs = models.Project.objects.all() @@ -402,7 +403,7 @@ class MembershipViewSet(ModelCrudViewSet): # Creation if self.request.method == 'POST': return self.admin_serializer_class - + return self.serializer_class project = get_object_or_404(models.Project, pk=project_id)