是否可以在模型序列化程序中获取当前用户?我想这样做,而不必从泛型中分离出来,因为这是一个必须完成的简单任务。在Model Serializer中获取当前用户
我的模型:
class Activity(models.Model):
number = models.PositiveIntegerField(
blank=True, null=True, help_text="Activity number. For record keeping only.")
instructions = models.TextField()
difficulty = models.ForeignKey(Difficulty)
categories = models.ManyToManyField(Category)
boosters = models.ManyToManyField(Booster)
class Meta():
verbose_name_plural = "Activities"
我的串行:
class ActivitySerializer(serializers.ModelSerializer):
class Meta:
model = Activity
而我的观点:
class ActivityDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Activity.objects.all()
serializer_class = ActivityDetailSerializer
我怎样才能模型返回,另外还有场user
这样我的回复如下所示:
{
"id": 1,
"difficulty": 1,
"categories": [
1
],
"boosters": [
1
],
"current_user": 1 //Current authenticated user here
}
你如何访问该变量?我有类似的设置,但在create()方法中,我似乎无法访问该变量。它也不在request.POST中。 – Craig
我使用上面的代码,但给出以下错误 文件“/Users/abc/abc/Django/Work/abc/abc/src/MadhaparGamApps/serializers/newsfeedSerializer.py”,第21行,在_user user = self.context ['request']。用户 KeyError:'request' –
对于每个获取请求的人来说KeyError:你可以通过使用请求对象从视图初始化序列化程序,如下所示:serializer = serializers.RandomSerializer(data = request.data,context = {'request':request}) 来源:http://www.django-rest-framework.org/api-guide/serializers/#saving-instances –