【发布时间】:2022-01-22 06:11:35
【问题描述】:
我正在尝试将数据插入到我的 OrderItem() 模型中:
class OrderItem(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE)
ordered = models.BooleanField(default=False)
item = models.ForeignKey(Item, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
带有json数据的api如下:
{ "username": "admin",
"item": "Kavya",
"quantity": "1"
}
我认为我正在接收这些数据并更新如下:
class addtoCart(APIView):
# permission_classes=[IsAuthenticated,]
# authentication_classes=[TokenAuthentication,]
def post(self,request):
username=request.data["username"]
itemname=request.data["item"]
quant=request.data["quantity"]
#inserting data to cart
article = OrderItem()
article.User = username
article.Item = itemname
article.quantity=quant
article.save()
query=OrderItem.objects.filter(user=username)
serializers=OrderItemSerializer(query,many=True)
return Response(serializers.data)
但每当我尝试这样做时,我都会收到错误:
/apis/addtoCart 处的完整性错误 NOT NULL 约束失败:core_orderitem.item_id
我不知道是什么导致了这个错误,有人可以帮忙
【问题讨论】:
-
是
.item,不是.Item。 -
无法分配“'Kavya'”:“OrderItem.item”必须是“Item”实例。 @wi
-
因为
Item是外键引用,您需要在请求正文中发送 id 或其他唯一约束,然后将其分配给您的article实例 -
@Ersain 我明白了你的意思,它完全正确。但我是新手,你能告诉我怎么做吗?
标签: django api django-models