zoukankan      html  css  js  c++  java
  • django-8-django模型系统

    <<<表关系实现>>>
     1.OneToOne
      models.OneToOneField('another_table', on_delete=models.CASCADE)
     2.OneToMany
      models.ForeignKey('another',on_delete=models.SET_NULL, null=True)
     3.ManyToMany
      ManyToMany('another_table',through='Enroll')
      还要借助一个中间表Enroll
      OnenToMany('one', on_delete=models.CASCADE)
      OnenToMany('another', on_delete=models.CASCADE)
    <<<关联表的数据操作>>>
     1.OneToMany
      一个模型如果定义了一个外键字段,通过这个模型对外键的操作就叫【正向】
      s.grade = None 把外键删除
      从grade对象反过来对和他关联的模型进行操作【反向】
      table_set 反响管理器
       remove(s)
       clear()这两种方法都立刻马上执行
       set()参数传列表,先执行clear()
      filter(grade__name='django')
     2.ManyToMany
      指定了中间表,add remove set都不能用,必须用中间表
     3.OneToOne
      直接通过模型的小写就能反向操作
    <<<跨表查询>>>
     1.查询课程表里面的男生
     Course.objects.filter(studetns__sex=1)
     2.查询选了python课的学生
     Student.objects.filter(course__name_contains='python')
     3.查询33期,选英语课的学生
     Student.objects.filter(course__name__contains='english', grade__num__contains='33')
     4.查询学费小于3000的学生
     Student.objects.filter(enroll__pay__lt=3000)
     5.查询某一期学习python的学生
     Grade.objects.filter(student__course__name__contains='python')
     
     
     
  • 相关阅读:
    ajax数据查看工具(chrome插件)
    JavaScript性能优化小知识总结
    jsonp
    学习Javascript闭包(Closure)
    浅析闭包和内存泄露的问题
    设备像素比
    【前端福利】用grunt搭建自动化的web前端开发环境-完整教程
    java开发的web下载大数据时的异常处理
    Node.js中的exports与module.exports的区分
    Task与Thread间的区别
  • 原文地址:https://www.cnblogs.com/wmkpy/p/10567511.html
Copyright © 2011-2022 走看看