[英]FOREIGN KEY constraint failed - Django
So I'm trying to make a delete route for my API but I'm encountering a problem.所以我试图为我的 API 创建一条删除路线,但我遇到了一个问题。 Whenever I hit the delete route I get an error which is
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
.每当我点击删除路线时,我都会收到一个错误
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
。 I'm trying to delete a model if the delete route is hit.如果删除路线被击中,我正在尝试删除 model 。 I have done
makemigrations
and migrate
but there were no changes.我已经完成了
makemigrations
和migrate
但没有任何变化。 Example of my code is like this:我的代码示例如下:
class RandomAPIView(APIView):
def delete(self, request, id, format=None):
product = Product.objects.get(pk=id)
product.delete()
return Response({'Success':'Product has been deleted'})
product in models.py models.py 中的产品
class Product(models.Model):
name = models.CharField(max_length=200)
category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True, null=True)
def __str__(self):
return self.name
You should be using django-rest-framework's serializers and viewsets to achieve this.您应该使用 django-rest-framework 的序列化程序和视图集来实现这一点。 ( RTFM )
(实时调频)
## serializers.py
from rest_framework import serializers
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = "__all__"
## views.py
from rest_framework import viewsets, mixins
# below subclassing is done to only allow deletion,
# u can also use `viewsets.ModelViewSet` to allow all operations
# such as `list`, `create`, etc.
class ProductViewSet(viewsets.GenericAPIView, mixins.DestroyModelMixin):
queryset = Product.objects.all()
serializer_class = ProductSerializer
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.