Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CurrentUserDefault不';使用Django Rest无法工作_Django_Django Rest Framework - Fatal编程技术网

CurrentUserDefault不';使用Django Rest无法工作

CurrentUserDefault不';使用Django Rest无法工作,django,django-rest-framework,Django,Django Rest Framework,我正在使用Django/Django Rest框架,我正在寻找一种自动插入记录的用户id的解决方案 我尝试使用,user=serializers.HiddenField(default=serializers.CurrentUserDefault()): 但我不工作 这是我的序列化程序类 from rest_framework import serializers from contact.models import Contact class ContactSerializer(serial

我正在使用Django/Django Rest框架,我正在寻找一种自动插入记录的用户id的解决方案

我尝试使用,
user=serializers.HiddenField(default=serializers.CurrentUserDefault())

但我不工作

这是我的序列化程序类

from rest_framework import serializers
from contact.models import Contact

class ContactSerializer(serializers.ModelSerializer):

 
    user = serializers.HiddenField(default=serializers.CurrentUserDefault())

    class Meta:
        model = Contact
        fields = '__all__'
我的看法是:

class ContactView(ListModelMixin, viewsets.GenericViewSet):
    queryset = Contact.objects.all()
    serializer_class = ContactSerializer

    def create(self, request):
        serializeObject = ContactSerializer(data = request.data, many=True)
        if serializeObject.is_valid():
            serializeObject.save()
            contactObject = Contact.objects.all()
            contactSerializer = ContactSerializer(contactObject, many=True)
            return Response(contactSerializer.data, status = status.HTTP_201_CREATED)
        return Response(serializeObject.errors, status.HTTP_400_BAD_REQUEST)

使用
CurrentUserDefault
时,需要将
上下文中的请求传递给序列化程序,因为序列化程序将从中获取当前用户。见:

class ContactView(ListModelMixin,ViewSet.GenericViewSet):
queryset=Contact.objects.all()
serializer\u class=ContactSerializer
def创建(自我,请求):
serializeObject=ContactSerializer(data=request.data,many=True,context={'request':request})
...

请显示使用此序列化程序的视图。@AbdulAzizBarkat您能再次检查我的问题吗(更新)