コード例 #1
0
 def create(self, request: Request, course_id: int):
     card: Card = ASerializer().from_dict(request.data, Card)
     card.creator = request.user
     card.course = Course.get_or_404(pk=course_id, user=request.user)
     card.save()
     return JsonResponse(
         {"data": ASerializer().to_dict(card, groups=['card_detailed'])})
コード例 #2
0
 def retrieve(self, request: Request, pk: str):
     user: User = request.user
     course: Course = Course.get_or_404(pk=request.data['course_id'],
                                        user=user)
     return JsonResponse({
         "data":
         ASerializer().to_dict(course,
                               groups=['course_detailed', 'user_detailed'])
     })
コード例 #3
0
    def update(self, request: Request, course_id: int, pk: int):
        # make sure data has the right format
        card = ASerializer().from_dict(request.data, UpdateCard)
        card_data = ASerializer().to_dict(card, groups=["card_basic"])

        card: Card = get_object_or_404(Card, pk=pk, user=request.user)
        for key, value in card_data.items():
            setattr(card, key, value)

        card.course = Course.get_or_404(pk=request.data['course_id'],
                                        user=request.user)
        card.save()
        return JsonResponse(
            {"data": ASerializer().to_dict(card, groups=['card_detailed'])})