• 技术文章 >Python框架 >Django

    Django中的ORM之增

    尤及尤及2020-06-10 15:35:48转载3819

    Django中的ORM之增:

    1、使用create方式

    方式一:

    1

    Publish.objects.create("name"="人民出版社",city="北京"}

    方式二:

    1

    Publish.objects.create(**{"name":"文艺出版社","city":"上海"}}

    2、使用save方式

    方式一:

    1

    2

    book1=Book(title="python",price="88",publish_id="1",publication_date="2017-06-18")

    book1.save()

    方式二:

    1

    2

    author1=Author(name="jerry")

    author1.save()

    3、一对多的信息的创建

    方式一:

    1

    2

    3

    4

    5

    6

    7

    #获取出版社对象publish_obj=Publish.objects.get(id=4)  

    #将出版社的对象绑定到书籍的记录中Book.objects.create(

        title="python",

        price=48.00,

        publication_date="2017-07-12",

        publish=publish_obj,

    )

    方式二:

    1

    2

    3

    4

    5

    6

    #直接把出版社的id号插入到书籍的记录中Book.objects.create(

        title="python",

        price=48.00,

        publish_id=2,

        publication_date="2017-06-18",

    )

    4、多对多信息的创建

    为一本书添加多个作者

    1

    2

    3

    4

    author1=Author.objects.get(id=1)#获取id号为1的作者对象

    author2=Author.objects.filter(name="tom")#获取名字为"tom"的作者对象

    book1=Book.objects.get(id=2)#获取id号为2的书籍对象

    book1.authors.add(author1,author2)#为书籍对象添加多个作者对象

    也可以用这种方式:

    1

    2

    book1.authors.add(*[author1,author2])#为书籍对象添加作者对象的列表

    book1.authors.remove(*[author1,author2])#删除指定书籍的所有作者

    为一个作者添加多本书

    1

    2

    3

    4

    author_obj = Author.objects.filter(name="jerry")#获取名字为"jerry"的作者对象

    book_obj=Book.objects.filter(id__gt=3)#获取id大于3的书籍对象集合

    author_obj.book_set.add(*book_obj)#为作者对象添加书籍对象集合

    author_obj.book_set.remove(*book_obj)#删除指定作者对象所有的书籍

    手动创建多对多的作者与书籍信息表

    1

    2

    3

    4

    5

    class Book2Author(models.Models):

        author=models.ForeignKey("Author")#为作者指定Author这张表做为外键

        book=models.ForeignKey("Book")#为书籍指定Book这张表做为外键

    author_obj=models.Author.objects.filter(id=3)[0]#获取Author表中id为3的作者对象

    book_obj=models.Book.objects.filter(id=4)[0]#获取Book表中id为4的书籍对象

    方式一:

    1

    2

    obj1=Book2Author.objects.create(author=author_obj,book=book_obj)

    obj1.save()

    方式二:

    1

    2

    obj2=Book2Author(author=author_obj,book=book_obj)

    obj2.save()

    更多Python知识,请关注:Python自学网!!

    专题推荐:django
    上一篇:Django实现内容缓存 下一篇:Django中的ORM之查

    相关文章推荐

    • Django:查看自己的Django版本的两种方式• 如何检测Django是否安装成功• Django中如何使用Mysql数据库• Django2.0外键参数on_delete的使用方法• python的django做什么的• pycharm 怎么运行django• pycharm中怎么创建Django

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网