首页 > 其他分享 >级联删除和级联更新的理解?

级联删除和级联更新的理解?

时间:2022-11-14 12:08:22浏览次数:67  
标签:级联 obj 删除 author models get 更新 book print

级联更新,  就是好比学生表中的的张三选了一门叫做高数的课程,在选课表中就有张三和高数共同组成的一条选课记录,如果级联更新,当学生表中的张三改名为张四,他的选课表中的张三也会自动改为张四

级联删除,例如员工表中一项数据是部门​​​ID​​​,部门​​ID​​是部门表的主键,如果是级联删除,当删除了部门A的时候,会把所有属于部门A的员工都给删除。

 

A==>B(A关联B表),B变A受影响,A变B不受影响.

(效率很低)

#一对一正向:
# author_obj = models.Author.objects.get(name='武松')
# print(author_obj.address) #景阳冈

   #一对一反向
# # print(author_obj.author.__dict__)
# print(author_obj.author)
# author_detail_obj = models.AuthorDetail.objects.get(address='景阳冈')
# print(author_detail_obj.author.name) #武松

# 一对多的正向查询
# book_obj = models.Book.objects.get(title='冬瓜正传')
# print(book_obj.publisher.name) #18期出版社
# 一对多反向查询
# pub_obj = models.Publish.objects.get(name='18期出版社')
# print(pub_obj.book_set.all().values('title'))
# print(pub_obj.book_set) #app01.Book.None


#多对多正向查询
# book_obj = models.Book.objects.get(title='冬瓜正传')
# print(book_obj.authors.all().values('name'))
# author_obj = models.Author.objects.get(name='武松')
# print(author_obj.book_set.all().values('title'))

 



标签:级联,obj,删除,author,models,get,更新,book,print
From: https://blog.51cto.com/u_11182673/5848782

相关文章