Seb*_*sen 3 django django-rest-framework
我试图在序列化程序中获取当前用户,以评估条件(用户是否喜欢这篇文章?),这是我尝试的答案,但似乎不起作用:
def current_user(self):
return self.context['request'].user
class PostSerializer(serializers.ModelSerializer):
liked = serializers.SerializerMethodField()
def get_liked(self, obj):
return str(current_user(self))
class Meta:
model = Track
fields = ('foo', 'liked')
Run Code Online (Sandbox Code Playgroud)
我的看法很简单:
@api_view(['GET'])
def post_item(request, pk):
serializer = PostSerializer(post)
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
尝试get_liked这样做时会引发错误:
/ api / posts / 1处的KeyError
'请求'
我在这里想念什么吗?
您可以像这样将上下文从视图发送到序列化器:
@api_view(['GET'])
def post_item(request, pk):
serializer = PostSerializer(track, context={'request': request})
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |