最新公告
  • 欢迎您光临网站无忧模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Django中的ORM之增

    正文概述 尤及   2020-12-15   736

    Django中的ORM之增

    Django中的ORM之增:

    1、使用create方式

    方式一:

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

    方式二:

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

    2、使用save方式

    方式一:

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

    方式二:

    author1=Author(name="jerry")
    author1.save()

    3、一对多的信息的创建

    方式一:

    #获取出版社对象publish_obj=Publish.objects.get(id=4)   
    #将出版社的对象绑定到书籍的记录中Book.objects.create(
        title="python",
        price=48.00,
        publication_date="2017-07-12",
        publish=publish_obj,
    )

    方式二:

    #直接把出版社的id号插入到书籍的记录中Book.objects.create(
        title="python",
        price=48.00,
        publish_id=2,
        publication_date="2017-06-18",
    )

    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)#为书籍对象添加多个作者对象

    也可以用这种方式:

    book1.authors.add(*[author1,author2])#为书籍对象添加作者对象的列表
    book1.authors.remove(*[author1,author2])#删除指定书籍的所有作者

    为一个作者添加多本书

    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)#删除指定作者对象所有的书籍

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

    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的书籍对象

    方式一:

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

    方式二:

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

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


    下载网 » Django中的ORM之增

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元