zoukankan      html  css  js  c++  java
  • django跨表添加记录和基于对象的跨表查询

    一.一对多添加记录

    方法1

           xxx.objects.create

        外键_id=数字

    方法2

         xxx.objects.create

        外键字段(属性)=models对象

    二.多对多添加记录

    方式一

       models对象.外键.add(models对象1,models对象2)

    方式二

      models对象.外键.add(id1,id2)

    方法三

      models对象.外键.add(*[id1,id2])

    还有.remove()  .clear()  .set([id1,id2])或set([models对象1,models对象2])

    三.基于对象的跨表查询

      正向查询:关联属性所在的表查询关联表

      反向查询:关联表查询关联属性所在的表

    ####### 一对多 ##########

    ----正向查询按字段:models对象.publish

    Book------------------------------------>Publish
    <-----------------------------------
    反向查询表名小写_set.all():models对象.book_set.all()

    ####### 多对多 ##########
    正向查询按字段 models对象.authors.all()
    Book -------------------------------------->Author
    <--------------------------------------
    反向查询按表名小写_set.all():models对象.book_set.all()

    ####### 一对一 ##########
    正常查询安字段:models对象.ad
    Author -----------------------------------------> AuthorDetail
    <------------------------------------------
    反向查询按表名小写 models对象.author

      

    
    
    
    
    
    

        

  • 相关阅读:
    Aras前端的一些知识
    Eclipse 实用快捷键大全
    Eclipse插件使用links目录的用法
    extjs portal 保存 事件
    NDRS SQL
    [VB]修改注册表让程序开机自动运行
    [C++]数组参数
    [C++]指针类型出参
    [C++]函数返回值
    [VBA]Excel输出utf8编码格式文件 使用WideCharToMultiByte
  • 原文地址:https://www.cnblogs.com/nianshaoyouwei/p/9858775.html
Copyright © 2011-2022 走看看