我想创建我的串行现场is_owner
它将返回是否没有被序列化的目的,是通过请求的用户所拥有。就像是:
"""Defines Some serializer with an owner"""
from rest_framework import serializers
class SomeSerializer(serializers.ModelSerializer):
"""Returns the is_owner field as a boolean"""
is_owner = serializers.SerializerMethodField()
class Meta:
model = SomeModel
fields = ('is_owner',)
def get_is_owner(self, obj):
"""Will return True if the requesting user is the owner, else false"""
return request.user.id == obj.user.id
这是为了做到这一点?我应该是传递request
对象序列化,以使这项工作?我应该在视图级别进行测试呢?
谢谢!
def get_is_owner(self, obj):
"""
you can pass request in context
"""
return self.context['request'].user.id == obj.user.id
当你调用serializer
通过request
在context
像下面的代码;
serializer = SomeSerializer(instance, context={'request': request, ...})