I have Language model like this
class Language(models.Model):
name = models.CharField()
class Post(models.Model)
title = models.CharField()
language = models.ForeignKey(Language, models.SET_DEFAULT, default=1)
class PostSerializer(serializers.ModelSerializer):
language = serializers.CharField(source='language.name')
class PostCreateAPIView(generics.ListCreateAPIView):
serializer_class = serializers.PostSerializer
Post payload
{
"title":"title_1",
"language": "en" // instead of primary key
}
I wanted to map language name into object without using pk in payload.
Need to use the SlugRelatedField
class PostSerializer(serializers.ModelSerializer):
language = serializers.SlugRelatedField(slug_field='name', queryset=Language.objects.all())