def get(self, request, id=None, format=None): """ Gets all challenges or gets an individual challenge via challenge/:id. """ # If a specific challenge is requested, return that challege # else return all the challenges in the database. if id: challenges = challenge.objects.filter(id=id) else: challenges = challenge.objects.all() # Serialize challenge object and return the serialized data. challenge_serializer = challenge_serializer(challenges, many=True, context={'request': request}) return Response({ 'challenges': challenge_serializer.data, })
def get(self, request, id=None, format=None): """ Gets all challenges or gets an individual challenge via challenge/:id. """ # If a specific challenge is requested, return that challege # else return all the challenges in the database. if id: challenges = challenge.objects.filter(id=id) else: challenges = challenge.objects.all() # Serialize challenge object and return the serialized data. challenge_serializer = challenge_serializer( challenges, many=True, context={'request': request}) return Response({ 'challenges': challenge_serializer.data, })
def get(self, request, id=None, format=None): """ Gets all challengeboards or gets one challengeboard via challengeboards/:id. """ # If challengeboard id was requested, return that challengeboard # else return list of all challengeboards in the database. if id: # Retrieve and serialize the requested challengeboard data. challengeboards = challengeboard.objects.filter(id=id) challengeboards_serializer = challengeboard_serializer( challengeboards, many=True, context={'request': request}) # Retrieve and serialize the categories in the challengeboard. categories = category.objects.filter( challengeboard=challengeboards.first()) categories_serializer = category_serializer( categories, many=True, context={'request': request}) # Retrieve and serialize the challenges in each category. challenges = [] for cat in categories: challenges += challenge.objects.filter(category=cat) challenges_serializer = challenge_serializer( challenges, many=True, context={'request': request}) # Return the serialized data. return Response({ 'challengeboards': challengeboards_serializer.data, 'categories': categories_serializer.data, 'challenges': challenges_serializer.data, }) else: # Retrieve and serialize the requested challengeboard data. challengeboards = challengeboard.objects.all() serializer = challengeboard_serializer( challengeboards, many=True, context={'request': request}) # Return the serialized data. return Response({ 'challengeboards': serializer.data, })
def get(self, request, id=None, format=None): """ Gets all challengeboards or gets one challengeboard via challengeboards/:id. """ # If challengeboard id was requested, return that challengeboard # else return list of all challengeboards in the database. if id: # Retrieve and serialize the requested challengeboard data. challengeboards = challengeboard.objects.filter(id=id) challengeboards_serializer = challengeboard_serializer(challengeboards, many=True, context={'request': request}) # Retrieve and serialize the categories in the challengeboard. categories = category.objects.filter(challengeboard=challengeboards.first()) categories_serializer = category_serializer(categories, many=True, context={'request': request}) # Retrieve and serialize the challenges in each category. challenges = [] for cat in categories: challenges += challenge.objects.filter(category=cat) challenges_serializer = challenge_serializer(challenges, many=True, context={'request': request}) # Return the serialized data. return Response({ 'challengeboards': challengeboards_serializer.data, 'categories': categories_serializer.data, 'challenges': challenges_serializer.data, }) else: # Retrieve and serialize the requested challengeboard data. challengeboards = challengeboard.objects.all() serializer = challengeboard_serializer(challengeboards, many=True, context={'request': request}) # Return the serialized data. return Response({ 'challengeboards': serializer.data, })