Python 如何在Django中修复此错误&书信电报;更正:第一项>&引用;“字段”需要有一个值;corr";在此之前,可以使用多对多关系
我不知道这个错误是从哪里来的。我如何解决这个问题 models.py: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
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错误请求的原因,因为程序不会保存行。