I am trying to get a user's details (in a JSON string format) by providing a user id (also in a JSON string format)
This is my model's code
class Description(models.Model):
description = models.CharField(max_length=150)
def __str__(self):
return self.description
class Team(models.Model):
team_name = models.CharField(max_length=50)
description = models.CharField(max_length=200)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.team_name
class User(models.Model):
name = models.CharField(max_length=64)
username = models.CharField(max_length=64, unique=True)
description = models.ForeignKey(Description, null=True, on_delete=models.SET_NULL)
team = models.ForeignKey(Team, null=True, on_delete=models.SET_NULL)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return f"{self.name}"
This is the serializer Code
from rest_framework import serializers
from users.models import Description, Team, User
class DescriptionSerializer(serializers.ModelSerializer):
class Meta:
model = Description
fields = "__all__"
class TeamSerializer(serializers.ModelSerializer):
class Meta:
model = Team
fields = "__all__"
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = "__all__"
This is the views code
from urllib import response
from django.shortcuts import render
from django.http import JsonResponse
from rest_framework.response import Response
from rest_framework.decorators import api_view
from users.models import User, Team, Description
from .serializers import UserSerializer, TeamSerializer, DescriptionSerializer
# describe user
@api_view(["GET"])
def describe_user(request):
user = User.objects.get(pk=request.data["id"])
serializer = UserSerializer(user)
return JsonResponse(serializer, safe=False)
Whenever I enter a JSON data in the body of URL eg: {"id":"2"} I get this error
[TypeError at /describe/ Object of type UserSerializer is not JSON serializable]