Hi I'm creating a serializer where I wanna show user profile details and all his products from the product model but it's not working
serializer.py
class UserSerializer(serializers.ModelSerializer):
related_products = ProductSerializer(
source="user.product_set.all", read_only=True, many=True
)
class Meta:
model = User
fields = [
"first_name",
"last_name",
"bio",
"phone",
"agency",
"related_products",
]
views.py
class ProfileView(generics.RetrieveAPIView):
serializer_class = UserSerializer
permission_classes = [permissions.IsAuthenticated, onlyuser]
def retrieve(self, request, *args, **kwargs):
serializer = self.serializer_class(request.user)
return Response(serializer.data, status=status.HTTP_200_OK)
I found a solution if its a fine approach you can use it in your project
class ProfileView(generics.RetrieveAPIView):
def get(self, request, *args, **kwargs):
qs = Product.objects.filter(user=request.user)
data = {
"user_profile": UserSerializer(request.user).data,
"user_products": ProductSerializer(
qs, many=True, context={"request": request}
).data,
}
return Response(data=data)