我试过类似的方法,但不管用。
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
def save(self):
user = self.context['request.user']
title = self.validated_data['title']
article = self.validated_data['article']
我需要一种能够访问请求的方法。用户从我的Serializer类。
解决方案可以很简单,但我尝试使用self. contentt ['request']访问。用户,但没有在序列化器中工作。
如果你使用DRF显然登录通过令牌是唯一的来源或其他可能是有争议的。
朝着解决方案前进。
传递请求。创建serializer.create时的用户实例
views.py
if serializer.is_valid():
watch = serializer.create(serializer.data, request.user)
serializer.py
def create(self, validated_data, usr):
return Watch.objects.create(user=usr, movie=movie_obj, action=validated_data['action'])