def get_queryset()

in gnm_deliverables/views/views.py [0:0]


    def get_queryset(self):
        from django.db.models import Q
        if self._search_request is None:
            raise Exception("no search request saved")
        queryset = DeliverableAsset.objects.all()

        if self._search_request.validated_data["title"] and self._search_request.validated_data["title"]!="":
            queryset = queryset.filter(Q(filename__icontains=self._search_request.validated_data["title"]) | \
                                           Q(gnm_website_master__website_title__icontains=self._search_request.validated_data["title"]) | \
                                           Q(mainstream_master__mainstream_title__icontains=self._search_request.validated_data["title"]) | \
                                           Q(DailyMotion_master__daily_motion_title__icontains=self._search_request.validated_data["title"]) | \
                                           Q(youtube_master__youtube_title__icontains=self._search_request.validated_data["title"]))

        if self._search_request.validated_data["atom_id"] and self._search_request.validated_data["atom_id"]!="":
            queryset = queryset.filter(atom_id=self._search_request.validated_data["atom_id"])

        if self._search_request.validated_data["commission_id"] and self._search_request.validated_data["commission_id"]!=0:
            queryset = queryset.filter(deliverable__commission_id=self._search_request.validated_data["commission_id"])

        if self._search_request.validated_data["order_by"]:
            queryset = queryset.order_by(self._search_request.validated_data["order_by"])
        else:
            queryset = queryset.order_by("-modified_dt")

        if ("startAt" in self.request.GET) or ("limit" in self.request.GET):
            start_at = 0
            limit = 25
            if "startAt" in self.request.GET:
                start_at = int(self.request.GET["startAt"])
            if "limit" in self.request.GET:
                limit = int(self.request.GET["limit"])
            queryset = queryset[start_at:limit]

        return queryset