def get(self, request, *args, **kwargs): contexts = Context.get_visible(request.user) # Get some prefetched values to minimize database workload contexts = contexts.prefetch_related('locations_available') # Turn contexts into a serialized list serializer = ContextSerializer(contexts, many=True) return Response(serializer.data)
def get(self, request, *args, **kwargs): # Filter by GET parameters params = dict(request.query_params) if 'is_visible' in params: params['is_visible'] = bool(params['is_visible'][0]) contexts = Context.get_visible(request.user) contexts = contexts.filter(**params) # Get some prefetched values to minimize database workload contexts = contexts.prefetch_related('locations_available') # Turn contexts into a serialized list serializer = ContextSerializer(contexts, many=True) return Response(serializer.data)
def create_context(name): if name[0] == '@': name = name[1:] slug = slugify(name) c = Context(name=name, slug=slug) c.save()
def get(self, request, *args, **kwargs): contexts = Context.get_visible(request.user) serializer = ContextSerializer(contexts, many=True) return Response(serializer.data)