Python 如何在Django中修复此错误&书信电报;更正:第一项>&引用;“字段”需要有一个值;corr";在此之前,可以使用多对多关系

Python 如何在Django中修复此错误&书信电报;更正:第一项>&引用;“字段”需要有一个值;corr";在此之前,可以使用多对多关系,python,django,Python,Django,我不知道这个错误是从哪里来的。我如何解决这个问题 models.py: class Corr(models.Model): name = models.CharField(max_length=255) attr_x = models.ManyToManyField(Attr, related_name='attr_x') attr_y = models.ManyToManyField(Attr, related_name='attr_y') def __str

我不知道这个错误是从哪里来的。我如何解决这个问题

models.py:

class Corr(models.Model):
    name = models.CharField(max_length=255)
    attr_x = models.ManyToManyField(Attr, related_name='attr_x')
    attr_y = models.ManyToManyField(Attr, related_name='attr_y')

    def __str__(self):
        return self.name
api.py:

@api_view(['GET', 'POST'])
def corr_list(request):
    if request.method == 'GET':
        corr = Corr.objects.all()
        serializer = CorrSerializer(corr, many=True)
        return JsonResponse(serializer.data, safe=False)
    elif request.method == 'POST':
        serializer = CorrSerializer(data=request.data)
        if serializer.is_valid():
            # import pdb; pdb.set_trace()
            serializer.save() #<-- error here 
            return Response(serializer.validated_data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@api_视图(['GET','POST']))
def corr_列表(请求):
如果request.method==“GET”:
corr=corr.objects.all()
serializer=CorrSerializer(corr,many=True)
返回JsonResponse(serializer.data,safe=False)
elif request.method==“POST”:
serializer=CorrSerializer(数据=request.data)
如果序列化程序.u有效():
#进口pdb;pdb.set_trace()

serializer.save()#可以通过打印来显示数据吗?表示正在序列化程序中传递的数据?通过使用print(serializer),print(serializer)为我提供了模型结构,告诉我打印出的是哪一个。get req中的序列化程序还是post中的序列化程序?如果正在打印帖子,则显示request.datacalling serializer.is_valid()的输出返回False,因此发生了其他事情。Request.data返回{u'name':u'Item One',u'attr_x':u'Age',u'attr_y':'Exp'},这就是为什么您收到404错误请求的原因,因为程序不会保存行。