【发布时间】:2020-06-16 18:57:55
【问题描述】:
我想序列化一个方法来检查故事的作者是否是当前登录的用户,如果是,则返回 true,如果不是 false。但是,Django 的Docs 声明 Serliazer 方法除了 self 之外只需要一个参数。那么除了故事(对象)之外,我如何访问用户模型呢?
我正在考虑类似的事情:
class StorySerializer(serializers.ModelSerializer):
story_owner_permission = serializers.SerializerMethodField('check_story_owner_permission')
class Meta:
model = Story
fields = ['story_owner_permission']
def check_story_owner_permission(self, story, request):
story_author = story.author.id
current_user = request.user.id
if (story_author == current_user):
return True
else:
return False
但它不起作用。 check_story_owner_permission() missing 1 required positional argument: 'request'
【问题讨论】:
标签: django django-rest-framework django-serializer