zoukankan      html  css  js  c++  java
  • Python学习第130天(Django中ORM一对多的增删改查)

    今天回来是早的,但是因为部分原因,差不多9点半才开始看,内容勉强看完,暂时先进行总结一下,实战训练放在明天,同时完成后面的学习。

      主要是针对一对多的增删改查,大致记录了一些关键方法和语句。

      核心语句:publish  =   models.ForeignKey(“Publish”)

      重点关注两点:外键是谁,关联的是哪张表格

    你设置的这个名字publish会在表格创建的时候自动得到新名字publish_id

    下面是一些具体的增删改查方法

      

    一、添加记录
      #publish_id=2
      Book.objects.create(name="linux运维",price=77,pub_date="2017-12-12",publish_id=2)

      #publish=object
      Book.objects.create(name="GO",price=23,pub_date="2017-05-12",publish=publish_obj)

    二、查询记录(通过对象)

      正向查询:
        book_obj=Book.objects.get(name="python")
        pub_obj=book_obj.publish----》书籍对象对应的出版社对象
        pub_obj.name
      反向查询:
        pub_obj = Publish.objects.filter(name="人民出版社")[0]
        pub_obj.book_set.all().values("name","price")

      查询记录(filter values 双下划线__)

        人民出版社出版过的书籍与价格
        ret=Book.objects.filter(publish__name="人民出版社").values("name","price")

      python这本书出版社的名字
        ret2=Publish.objects.filter(book__name="python").values("name")

      python这本书出版社的名字
        ret3=Book.objects.filter(name="python").values("publish__name")

      北京的出版社出版书的名字
        ret4=Book.objects.filter(publish__city="北京").values("name")

      2017年上半年出版过书的出版社的名字
        ret5=Book.objects.filter(pub_date__lt="2017-07-01",pub_date__gt="2017-01-01").values("publish__name")

    暂时就这些,明天抓紧点时间。

  • 相关阅读:
    结对编程项目作业2-结对编项目设计文档
    20170914-构建之法:现代软件工程-阅读笔记
    课后作业-阅读任务-阅读提问-1
    GIT 的使用方法
    团队-井字棋-需求分析
    结对-贪吃蛇-需求分析
    python_基础_0
    Unix_07_文件系统高级操作_2
    Unix_06_文件系统高级操作_1
    Unix_05_文件系统高级操作_0
  • 原文地址:https://www.cnblogs.com/xiaoyaotx/p/13296555.html
Copyright © 2011-2022 走看看