Django-44-ORM多对多删除

前提(初始表数据)

remove(*[]) :删除,可以为数字(即id);对象;对象列表

delete筛选后删除

clear清空

book表

Django-44-ORM多对多删除_第1张图片

author表

book_authors表 (关系表)

Django-44-ORM多对多删除_第2张图片

 

django_study.app01.views.py:新建一个more_to_more_delete_db视图函数

from django.shortcuts import render  # 导入显示页面的模块
from django.http import HttpResponse  # 导入显示字符串的模块
from .models import *  # 导入操作的模型类
import datetime

# Create your views here.
def more_to_more_delete_db(request):
    return HttpResponse("删除成功")

django_study.django_study.urls:绑定url与视图函数

url(r'^more_to_more_delete_db/$', more_to_more_delete_db)

 

删除操作1:

def more_to_more_delete_db(request):
    # 删除“Jmeter接口”这本书以及关系表中的对应关系
    book_obj = Book.objects.get(name="Jmeter接口")  # 正常get后面加id才能保证结果是唯一的
    book_obj.authors.clear()  # 清除关系表中与jemter接口这本书有关联的数据
    book_obj.delete()  # 删除book表中的数据
    return HttpResponse("删除成功")

 

启动状态运行后查看数据库

book表

Django-44-ORM多对多删除_第3张图片

book_authors表 (关系表)

Django-44-ORM多对多删除_第4张图片

你可能感兴趣的:(Django)