2 回答

TA貢獻1812條經驗 獲得超5個贊
您可以連接全名,將其注釋到查詢集上,然后將其添加到序列化程序中:
from django.db.models import F, Value
class ArticlesViewset(viewsets.ModelViewSet):
permission_classes = [permissions.AllowAny]
queryset = Articles.objects.all()
serializer_class = ArticleSerializer
def get_queryset(self):
return self.queryset.annotate(
authors_name=Concat('author__first_name', Value(" "), 'author__last_name')
)
class ArticleSerializer(serializers.ModelSerializer):
authors_name = serializers.CharField(required=False)
class Meta:
model = Articles
fields = ('article_title', 'description', 'created_at', 'authors_name')

TA貢獻1852條經驗 獲得超7個贊
我在序列化程序類中進行了以下更改,并且能夠獲取作者姓名
#Article serializer
class ArticleSerializer(serializers.ModelSerializer):
author = serializers.CharField(required=False)
class Meta:
model = Articles
fields = ('article_title', 'description','created_at', 'author')
添加回答
舉報