如何解决React-Danjo REST 框架:无法使用外键将数据发布到模型
我是 Django 的新手,正在做我的第一个项目。我无法做的是将一些数据发送到具有外键字段的模型。这是models.py:
class BasketProductMapping(models.Model):
product_reference = models.ForeignKey(Product,on_delete=models.CASCADE,blank=True,null=True,related_name='%(class)s_product_name')
mapped_basket_name = models.CharField(max_length=5,null=False,blank=False)
mapped_product_name = models.CharField(max_length=30,blank=False)
basket_product_mapping_date = models.DateField(auto_Now_add=True)
basket_product_mapping_modified_date = models.DateField(auto_Now=True)
def __str__(self):
return self.mapped_basket_name
这是我的 serializers.py 文件:
class BasketProductMappingSerializer(serializers.ModelSerializer):
product_reference = ProductSerializer(read_only=False)
class Meta:
model = BasketProductMapping
fields = ('id','mapped_basket_name','mapped_product_name','product_reference')
这是我的views.py:
class BasketProductViewSet(APIView):
def get(self,request):
if request.GET.get('id'):
#print('Basket Product Mapping Details')
basketProductMappingData = BasketProductMapping.get(id = request.GET.get('id'))
serializer = BasketProductMappingSerializer(basketProductMappingData)
else:
print('Basket Product Mapping Details')
basketProductMappingData = BasketProductMapping.objects.all()
serializer = BasketProductMappingSerializer(basketProductMappingData,many=True)
response = {'status':1,'message':"Basket Product Mapping List",'data':serializer.data}
return JsonResponse(response,safe=False)
def post(self,request):
data = request.data
print(data)
serializerData = ''
saveBasketProductMapping = BasketProductMappingSerializer(data = data)
if saveBasketProductMapping.is_valid():
print('Valid data')
saveBasketProductMapping.save()
serializerData = saveBasketProductMapping.data
satusResponse = status.HTTP_201_CREATED
else:
print('Invalid Data')
serializerData = saveBasketProductMapping.errors
statusResponse = status.HTTP_400_BAD_REQUEST
response = {'status': 1,'message': 'Basket Product Mapping created successfully','statusResponse':statusResponse,'serializerData':serializerData}
return JsonResponse(response,safe=False)
我正在以这种格式接收来自 POST 请求的数据:
<QueryDict: {'mapped_basket_name': ['B3'],'mapped_product_name': ['XYZ'],'product_reference': ['XYZ']}>
但是,数据并未添加到模型中。我哪里错了?任何帮助将非常感激。提前致谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。