def get_queryset(self): profile = self.request.user.profile queryset = SubjectOfAgeGroup.objects.filter_by_profile(profile) if is_expanded(self.request, "field_age_group"): queryset = queryset.select_related("field_age_group") if is_expanded(self.request, "subject_name"): queryset = queryset.add_subject_name() return queryset
def get_queryset(self): queryset = Post.objects.all().filter( Q(public=True) | Q(author=self.request.user.id)) if is_expanded(self.request, 'category'): queryset = queryset.prefetch_related('category') queryset = queryset.prefetch_related('image') if is_expanded(self.request, 'comments'): queryset = queryset.prefetch_related('comments') return queryset
def get_queryset(self): queryset = Event.objects.get_by_profile( self.request.user.profile).select_related("created_by__user", "modified_by__user") if is_expanded(self.request, "subject"): queryset = queryset.annotate( subject=F("subject_group__subject__name")) if is_expanded(self.request, "field_age_group"): queryset = queryset.select_related("field_age_group") if is_expanded(self.request, "subject_group"): queryset = queryset.select_related("subject_group") if is_expanded(self.request, "subject"): queryset = queryset.select_related("subject_group__subject") return queryset.order_by("due_date")
def get_queryset(self): queryset = super().get_queryset().annotate(_admin=Exists( RemoteRepositoryRelation.objects.filter(remote_repository=OuterRef( 'pk'), user=self.request.user, admin=True))) if is_expanded(self.request, 'remote_organization'): queryset = queryset.select_related('organization') if is_expanded(self.request, 'projects'): queryset = queryset.prefetch_related('projects__users') return queryset.order_by('organization__name', 'full_name').distinct()
def get_queryset(self): action = self.get_serializer_context()['view'].action if self.request.user.is_staff or not action == 'list': queryset = ProyectoREM.objects.all() else: queryset = ProyectoREM.objects.filter( Q(autor=self.request.user) | Q(grupos__usuarios=self.request.user)).distinct('pk') if is_expanded(self.request, 'autor'): queryset = queryset.select_related('autor') if is_expanded(self.request, 'usuario_ultima_apertura'): queryset = queryset.select_related('usuario_ultima_apertura') if is_expanded(self.request, 'logs'): queryset = queryset.prefetch_related('logs') return queryset.prefetch_related('documentos', 'grupos')
def get_queryset(self): queryset = PostSearch.objects.all() if is_expanded(self.request, 'user_profile'): queryset = queryset.select_related('user_profile') return queryset
def get_queryset(self): queryset = Member.objects.all() if is_expanded(self.request, 'characterneed'): queryset = queryset.prefetch_related('characterneed') if is_expanded(self.request, 'dayofbirth'): queryset = queryset.prefetch_related('dayofbirth') # if is_expanded(self.request, 'bloodtype'): # queryset = queryset.prefetch_related('bloodtype') if is_expanded(self.request, 'naksus'): queryset = queryset.prefetch_related('company') if is_expanded(self.request, 'testes'): queryset = queryset.prefetch_related('testes') return queryset
def get_queryset(self): queryset = Product.objects.all() if is_expanded(self.request, 'category'): queryset = queryset.prefetch_related('category') if is_expanded(self.request, 'comments'): queryset = queryset.prefetch_related('comments') if is_expanded(self.request, 'sites'): queryset = queryset.prefetch_related('sites') if is_expanded(self.request, 'company'): queryset = queryset.prefetch_related('sites__company') if is_expanded(self.request, 'productsize'): queryset = queryset.prefetch_related('sites__productsize') return queryset
def get_queryset(self): action = self.get_serializer_context()['view'].action if self.request.user.is_staff or not action == 'list': queryset = DocumentoREM.objects.all() else: queryset = DocumentoREM.objects.filter( Q(autor=self.request.user) | Q(proyecto__grupos__usuarios=self.request.user)).distinct( 'pk') select_related_fields = [] for field in self.AVAILABLE_SELECT_RELATED_FIELDS: if is_expanded(self.request, field): select_related_fields.append(field) if select_related_fields: queryset = queryset.select_related(*select_related_fields) if is_expanded(self.request, 'logs'): queryset = queryset.prefetch_related('logs') return queryset
def get_favorite_products(self, obj): request = self.context.get('request', None) is_favorite_products_expanded = False if request: is_favorite_products_expanded = is_expanded( request, 'favorite_products') if is_favorite_products_expanded: return ProductSerializer(Product.objects.filter( pk__in=obj.favorites.values_list('product', flat=True)), many=True).data return obj.favorites.values_list('product_id', flat=True)
def get_queryset(self): queryset = Incident.objects.filter(verified=True) loss_queryset = Loss.with_stat.all() if is_expanded(self.request, 'event'): queryset = queryset.select_related('event') if is_expanded(self.request, 'hazard'): queryset = queryset.select_related('hazard') if is_expanded(self.request, 'wards'): queryset = queryset.prefetch_related('wards') if is_expanded(self.request, 'loss.peoples'): loss_queryset = loss_queryset.prefetch_related('peoples') if is_expanded(self.request, 'loss.families'): loss_queryset = loss_queryset.prefetch_related('families') if is_expanded(self.request, 'loss.livestocks'): loss_queryset = loss_queryset.prefetch_related('livestocks') if is_expanded(self.request, 'loss.infrastructures'): loss_queryset = loss_queryset.prefetch_related('infrastructures') if is_expanded(self.request, 'loss'): queryset = queryset.prefetch_related( Prefetch('loss', loss_queryset)) return queryset
def get_queryset(self): qs = Resource.objects.filter_by_profile(self.request.user.profile) if is_expanded(self.request, "subject"): qs = qs.select_related("subject") return qs
def test_should_be_expanded_and_has_dot_notation(self): request = MockRequest(query_params={"expand": "person.name,address"}) self.assertTrue(is_expanded(request, "name"))
def test_should_not_be_expanded(self): request = MockRequest(query_params={"expand": "name,address"}) self.assertFalse(is_expanded(request, "hobby"))
def test_should_be_expanded(self): request = MockRequest(query_params={"expand": "name,address"}) self.assertTrue(is_expanded(request, "name"))
def get_queryset(self): queryset = super().get_queryset() if is_expanded(self.request, 'slides'): queryset = queryset.prefetch_related('slides') return queryset
def get_queryset(self): queryset = self.model.objects.all().select_related('owner') if is_expanded(self.request, 'owner'): queryset = queryset.select_related('owner__group') return queryset
def get_queryset(self): queryset = self.model.objects.all().select_related( 'pattern', 'asset_id_type') if is_expanded(self.request, 'pattern'): queryset = queryset.select_related('pattern__project') return queryset