zoukankan      html  css  js  c++  java
  • 多表查询

    建表:

    class Book(models.Model):

        nid = models.AutoField(primary_key=True)

        name = models.CharField(max_length=32,null=True)

        price = models.DecimalField(max_digits=5, decimal_places=2)

        publish_date = models.DateField()

        # 新增或者删除字段(写一个属性/注释掉)

        # default 指定默认值

        # null 这个字段你可以为空

        # xxaa=models.CharField(max_length=32,null=True)

        # 一对多的关系一旦确立,关联关系写在多的一方

        publish = models.ForeignKey(to='Publish',to_field='nid',on_delete=models.CASCADE)

        # 多对多的关系需要创建第三张表(自动创建第三张表)

        authors=models.ManyToManyField(to='Author')

    多表操作

             基于对象的跨表查询(多次查询)

                       一对一:

                                -正向查询按字段

                                -反向查询按表名小写

                       一对多:

                                -正向查询按字段(正向查询一定会查出一个来)

                                -反向查询按表名小写_set.all()(返回结果是queryset对象)

                      

                       多对多:

                                -正向查询按字段.all()(正向查询一定会查出多个来)

                                -反向查询按表名小写_set.all()(返回结果是queryset对象)

                      

             基于双下划线的跨表查询

                       -在filter和values中都可以做连表操作(也就是都可以写 __)

                       -正向查询按字段

                       -反向查询按表名小写

                      

                       无论以谁做基表,没有效率之分

  • 相关阅读:
    暴破助攻提权:ruadmin
    Python 绝技 —— TCP服务器与客户端
    代码审计| HDWiki 漏洞(一)
    Android逆向——smali复杂类解析
    从外部入侵公司:外部渗透测试
    大脸猫讲逆向之ARM汇编中PC寄存器详解
    Ms17-010进行WEB提权之实践下某培训靶机服务器
    XSS钓鱼某网约车后台一探究竟,乘客隐私暴露引发思考
    python爬虫实践教学
    Swif语法基础 要点归纳(一)
  • 原文地址:https://www.cnblogs.com/zhouhai007/p/10269055.html
Copyright © 2011-2022 走看看