如何解决SerializerMethodField未显示-Django Rest Framework
因此,我试图通过使用SerializerMethodField()向我的序列化器中添加一个新字段,但未显示。怎么会来?
models.py:
class Post(models.Model):
author = models.ForeignKey(User,on_delete=models.CASCADE) ##
content = models.TextField(max_length=400,blank=False)
date_posted = models.DateTimeField(auto_now_add=True)
@property
def username(self):
return self.author.username
def __int__(self):
return self.id
serializers.py:
class PostSerializer(serializers.ModelSerializer):
username = serializers.SerializerMethodField()
class Meta:
model = Post
fields = '__all__'
def get_username(self,obj):
return obj.username
#return obj.author.username dooesnt work either
view.py我要去哪里查看帖子的详细信息;
@api_view(['GET'])
def postDetail(request,pk):
post = Post.objects.get(id=pk)
serializer = PostSerializer(post,many=False)
return Response(serializer.data)
这就是结果,用户名字段丢失:
{
"id": 2,"content": "6","date_posted": "08/12/2020 18:33:55","author": 1
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。