1. 级联操作
继续用上一节的项目案例,在article下的views.py文件中更新代码:
from django.shortcuts import render
from .models import Category,Article
from django.http import HttpResponse
def index(request):
article = Article.objects.first()
print(article.category.name)
return HttpResponse("success")
def delete_view(request):
category = Category.objects.get(pk=1)
category.delete()
return HttpResponse("删除成功")
将函数映射到urls文件中
from django.urls import path
from . import views
app_name = 'article'
urlpatterns = [
path('',views.index,name='index'),
path('delete/',views.delete_view,name='delete'),
]
保存后,浏览器中打开http://127.0.0.1:8000/delete/网址,category表中的第一条数据被删除,article表中id=1类别的内容也会被删除。
2. PROTECT受保护的
如果外键被引用,那么将不能被删除
在category表中创建一条数据如下
在article表中创建一条数据