Python 如何为django中的on_delete=models.PROTECT创建自定义异常消息
我在模型文件Python 如何为django中的on_delete=models.PROTECT创建自定义异常消息,python,django,django-models,Python,Django,Django Models,我在模型文件Add_cat和Add_prod中有两个类。通过第一个类我创建了类别,通过第二个类我创建了书名、作者、,价格和图像。我在第二节课中将类别设置为外键,然后为“添加产品”创建了一些记录。通过模板,我创建了一个用于删除所选类别的按钮。如果所选类别包含记录,我们无法删除它,因为我使用了ondelete=models.PROTECT,现在,如果我试图删除一个包含add_prod表中记录的类别,django会给我一个类似这样的异常,(“无法删除模型'add_cat'的某些实例,因为它们是通过受保
Add_cat
和Add_prod
中有两个类。通过第一个类我创建了类别,通过第二个类我创建了书名、作者、,价格和图像。我在第二节课中将类别设置为外键,然后为“添加产品”创建了一些记录。通过模板,我创建了一个用于删除所选类别的按钮。如果所选类别包含记录,我们无法删除它,因为我使用了ondelete=models.PROTECT,现在,如果我试图删除一个包含add_prod表中记录的类别,django会给我一个类似这样的异常,(“无法删除模型'add_cat'的某些实例,因为它们是通过受保护的外键引用的:'add_prod.cat'”[
使用try except进行排序的简单问题
def del_cat(request,pk):
try:
query = Add_cat.objects.get(pk=pk)
query.delete()
messages.add_message(request, messages.INFO, 'Category Deleted')
return redirect("add_cat")
except:
return HttpResponse('Cant delete that row mate')
与发送这样一个简单的错误不同,您可能希望呈现一些模板或添加一条消息,就像您对成功事件所做的那样,但这一次是为了指示无法删除类别,然后重定向
messages.add_message(request, messages.INFO, 'Category Not Deleted')
很高兴能帮上忙
<button onclick="return confirm('Are you sure want to delete?');"><a href="{% url 'del_prod' pk=i.pk %}">Delete</a></button>
def del_cat(request,pk):
try:
query = Add_cat.objects.get(pk=pk)
query.delete()
messages.add_message(request, messages.INFO, 'Category Deleted')
return redirect("add_cat")
except:
return HttpResponse('Cant delete that row mate')
messages.add_message(request, messages.INFO, 'Category Not Deleted')