Python 3.x Django休息架;合并来自不同模型的数据是行不通的

Python 3.x Django休息架;合并来自不同模型的数据是行不通的,python-3.x,django-rest-framework,Python 3.x,Django Rest Framework,我试着结合两个模型的数据。序列化程序如下所示 class FindOwnerSaveSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('id', 'username', 'first_name', 'last_name','image') #fields = ('__all__') class SaveSerializer(ser

我试着结合两个模型的数据。序列化程序如下所示


class FindOwnerSaveSerializer(serializers.ModelSerializer):



    class Meta:
        model = User
        fields = ('id', 'username', 'first_name', 'last_name','image')
        #fields = ('__all__')

class SaveSerializer(serializers.ModelSerializer):

    content = FindOwnerSaveSerializer(source='user',read_only=True)

    class Meta:
        model = Save
        fields = ('project_id','content')

保存模型如下所示

class Save(models.Model):
    project_id = models.ForeignKey(Project, on_delete=models.DO_NOTHING)
    user_id = models.ForeignKey(User, on_delete=models.DO_NOTHING)

class SaveView(UpdateAPIView):
    serializer_class = SaveSerializer
    permission_classes = [IsAuthenticated]

    def get_queryset(self):
        try:
            return Save.objects.filter(user_id=self.request.user)
        except Exception as e:
            logger.error(e)
            return Response(data='false')

    def get_object(self):
        try:
            if Project.objects.get(project_id=self.request.data['project_id']):
                return Response(data='true')
        except Exception as e:
            logger.error(e)
            return Response(data='false ')

视图是这样的

class Save(models.Model):
    project_id = models.ForeignKey(Project, on_delete=models.DO_NOTHING)
    user_id = models.ForeignKey(User, on_delete=models.DO_NOTHING)

class SaveView(UpdateAPIView):
    serializer_class = SaveSerializer
    permission_classes = [IsAuthenticated]

    def get_queryset(self):
        try:
            return Save.objects.filter(user_id=self.request.user)
        except Exception as e:
            logger.error(e)
            return Response(data='false')

    def get_object(self):
        try:
            if Project.objects.get(project_id=self.request.data['project_id']):
                return Response(data='true')
        except Exception as e:
            logger.error(e)
            return Response(data='false ')

反应一直是这样的。未提交任何用户数据

[
    {
        "project_id": 78
    }
]



可能有什么问题。我使用django 2.2.7和rest Framwork 3.10.3。

源代码引用的问题,应该是source='user\u id'而不是source='user'