问题描述
因此,我试图通过使用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 (将#修改为@)