Django restframework фильтрация с помощью нескольких запросов
У меня есть такой набор представлений с django-restframework
class MixViewSet(viewsets.ModelViewSet):
serializer_class = MixSerializer
filter_backends = [django_filters.rest_framework.DjangoFilterBackend]
filter_fields = ["id","user"]
def list(self,request,*args,**kwargs):
#filterset = FilterBook(request.query_params, queryset=Mix.objects.all())
queryset = self.filter_queryset(self.get_queryset())
#print(request.GET['access_token'])
if ('at' in request.GET):
try:
user = AccessToken.objects.get(token=request.GET['at']).user
except:
print("access token invalid")
return Response({'message':'invalid access token'})
print(user.id)
queryset = queryset.filter(user=user)
#http://localhost:8008/api/mixs/?access_token=128
serializer = self.get_serializer(queryset, many=True)
custom_data = {
'items': serializer.data
}
custom_data.update({
'meta':{"api":"Mix"}
})
return Response(custom_data)
def get_queryset(self):
queryset = Mix.objects.all()
ids = self.request.query_params.get('id')
print(ids)
if ids is not None:
queryset = queryset.filter(id=ids)
return queryset
class MixSerializer(serializers.ModelSerializer):
pub_date = serializers.DateTimeField(format="%m/%d/%Y,%I:%M:%S %p")
class Meta:
model = Mix
fields = ('id','pub_date','detail','user')
Теперь я хочу получить элементы по нескольким идентификаторам, например
https://example.com/mix/?id=100&id=112&id=143
однако в данном случае работает только 143
и возвращает одну строку.
Как я могу заставить это работать для нескольких запросов?