user15134931
user15134931

Reputation:

how to return username instead of his ID rest framework

working fine but instead of name getting id number only

views.py

class createtweet(CreateAPIView):
    queryset = Tweets.objects.all()
    serializer_class = TweetsSerializer

    def perform_create(self, serializer):
        serializer.save(user=self.request.user)

serializers.py

class TweetsSerializer(serializers.ModelSerializer):
    class Meta:
        model = Tweets
        fields = '__all__'

pls give me a way to return username instead of id

Upvotes: 1

Views: 1034

Answers (1)

JPG
JPG

Reputation: 88499

You can specify the field explicitly, with the help of source parameter as

class TweetsSerializer(serializers.ModelSerializer):
    user = serializers.CharField(source="user.username", read_only=True)

    class Meta:
        model = Tweets
        fields = '__all__'

Upvotes: 5

Related Questions