# serializers.py
class PostListSerializer(serializers.ModelSerializer):
like = serializers.IntegerField(default=0, read_only=True)
view = serializers.IntegerField(default=0, read_only=True)
class Meta:
model = Post
fields = '__all__'
# serializers.py
class PostListSerializer(serializers.ModelSerializer):
like = serializers.IntegerField(default=0, read_only=True)
view = serializers.IntegerField(default=0, read_only=True)
tag = serializers.CharField(source='tag.name')
class Meta:
model = Post
fields = '__all__'
결과값이 null로 나온다. 왜 이런가 싶어서 shell로 tag.name
을 돌려보니 null 값이 나왔다. 어떻게 해야 name이 제대로 나올까 해보니,
그래서 얘를 어떻게 활용하나?
# serializers.py
class PostListSerializer(serializers.ModelSerializer):
like = serializers.IntegerField(default=0, read_only=True)
view = serializers.IntegerField(default=0, read_only=True)
tag = serializers.StringRelatedField(many=True)
class Meta:
model = Post
fields = '__all__'
애초에 잘못된 필드를 사용중이었다. 아무튼 해결.
[공식 문서 참고]
https://www.django-rest-framework.org/api-guide/relations/#stringrelatedfield