如何返回用户名而不是 ID

Zay*_*sud 2 python django serialization django-rest-framework

在将此称为重复问题之前,请先看看我的代码。

我有一个博客模型,这是它的收藏夹部分:

class Fav(models.Model) :
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

    class Meta:
        unique_together = ('post', 'user')

    def __str__(self) :
        return str(self.user.username)
Run Code Online (Sandbox Code Playgroud)

我的序列化器如下所示:

class FavSerializer(serializers.ModelSerializer):
    class Meta:
        model = Fav
        fields = ['post', 'user']
Run Code Online (Sandbox Code Playgroud)

由于这个原因__str__,我假设该 API 将返回用户名,但它只返回 user_id。如何返回用户名?

lor*_*ock 5

做这个

class FavSerializer(serializers.ModelSerializer):
    user = serializer.CharField()
    class Meta:
        model = Fav
        fields = ['post', 'user']
Run Code Online (Sandbox Code Playgroud)