from app01 import xx 只能写在 django.set_up() 后面
# 将 QuerySet 里的所有对象外键全部强行指向当前查询对象
books = models.Book.objects.filter(title__startswith='书籍')
# 当 books 为一条单独的模型,传入不用打散
models.Publisher.objects.get(id=3).book_set.add(*books)
# 将 QuerySet 里面的对象保留已有外键,新增指向自己的外键
# add 需要打散
books = models.Book.objects.filter(id__gte=4)
models.Author.objects.get(id=2).book_set.add(*books)
# 解除指向自己关的全部对象,只跟现在 QuerySet 关联
# set 不需要打散
books = models.Book.objects.filter(title__startswith='书籍')
models.Publisher.objects.get(id=3).book_set.set(books, )
remove() + clear() 可以使用的前提是 ForeignKey(null=True...) ,即外键指向可以为空
# 接收QuerySst,先筛选出符合条件的要删除的对象
# 打散出入对象,并不解除所有,只解除筛选出的对象
books = models.Book.objects.filter(title__startswith='书籍')
models.Publisher.objects.get(id=3).book_set.remove(*books, )
# 直接简单暴力清除所有跟查询对象相关的外键关联
models.Publisher.objects.get(id=2).book_set.clear()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。