用Django过滤CreateAPIView视图



我有一个基于CreateAPIView类的视图,我需要在运行时通过请求中可用的东西过滤序列化器中定义的查询集。有什么办法吗?

序列化程序有如下代码:

class AssignWorkItemSerializer(serializers.Serializer, WorkitemSerializerMixin):
assigneeIds = serializers.ListSerializer(
child=serializers.PrimaryKeyRelatedField(
queryset=get_user_model().objects.filter(userrole__role__name='analyst')
),
source='assignees'
)

查询失败,因为查询返回多行。

class AssignWorkItemView(ListCreateAPIView):
permission_classes = [IsAuthenticated, IsManager]
serializer_class = AssignWorkItemSerializer
def get_queryset(self):
queryset = Post.objects.all()
name = self.request.query_params.get('name')
if name:
queryset = queryset.filter(name=name)
return queryset

你能这样试试吗?

最新更新