zoukankan      html  css  js  c++  java
  • Django跨关联关系查询

    正向查询:

    多表查一表;

    反向查询:

    一表查多表

    关联查询

    多对多和一对多

    正向查询:

    many1 = 多类名.objects.get()

    one_data = many1.关联属性

    反向查询:

    one1 = 一类名.objects.get()

    many_data = one1.多类名小写_set.all()

    一对一:以下多类名代指存放OneToOneField的类

    正向查询:

    one1 = 一类名.objects.get()

    many_data = one1.多类名小写

    反向查询:

    many1 = 多类名.objects.get()

    one_data = many1.一类名小写

    注意: 1、查询哪个表中的数据,就通过哪个模型类来查询。  2、通过关联属性的条件查询时,如果关联属性定义在该模型类中就直接使用关联属性,否则使用关联的模型类名小写。

    通过多类的查询一类的数据:
        一类名.objects.filter(多类名小写__多类属性名)   # 关联属性没有定义在该类中,所以用多类名小写
    通过一类的查询多类的数据:
        多类名.objects.filter(关联属性__一类属性名)     # 关联属性定义在该类中,所以直接用关联属性名

    根据关联属性的条件查询

    通过多类的条件查询一类的数据:
        一类名.objects.filter(多类名小写__多类属性名__条件名)   # 关联属性没有定义在该类中,所以用多类名小写
    通过一类的条件查询多类的数据:
        多类名.objects.filter(关联属性__一类属性名__条件名)   # 关联属性定义在该类中,所以直接用关联属性名

  • 相关阅读:
    Python学习 :面向对象 -- 三大特性
    Python学习 :面向对象(一)
    小米oj #40 找小“3”
    第三次作业
    排序算法模板
    树状数组求逆序数
    最短路模板
    字典树模板
    LCS
    多项式朴素乘法
  • 原文地址:https://www.cnblogs.com/guo126/p/14924008.html
Copyright © 2011-2022 走看看