import os
if __name__ == '__main__':
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'idjango.settings')
import django
django.setup()
from idea import models
"""一对多"""
# 增加数据
# 方式1:
models.Book.objects.create(title='平凡的世界', price=48, publish_id=1)
# 方式2:
publish_obj = models.Publish.objects.filter(pk=1).first()
models.Book.objects.create(title='孙子兵法', price=22, publish=publish_obj)
# 删除数据 级联删除
models.Publish.objects.filter(pk=1).delete()
# 修改数据 与增加数据相似
models.Book.objects.filter(pk=1).update(title='老人与海')
"""多对多"""
# 数据增加
# 为id等于1的书籍,添加1个id等于2的作者
# 方式1:
book_obj = models.Book.objects.filter(pk=1).first()
# 可传入1个或多个
book_obj.author.add(2)
# 方式2:
author_obj = models.Author.objects.filter(pk=3).first()
# 可传入1个或多个
book_obj.author.add(author_obj)
# 数据删除 支持数据及对象
book_obj.author.remove(1, 3)
# 数据修改
# 将id值为1的作者改为id为3的作者
# 如果只传[3],代表将全部id改为3 支持数字与对象
book_obj = models.Book.objects.filter(pk=1).first()
book_obj.author.set([1, 3])
# 清空
# 清除书籍与作者的关系
book_obj.author.clear()
django专栏 search 03.外键的增删改查
最新推荐文章于 2022-08-23 10:39:05 发布