Django的orm需要注意的地方

Posted jackshi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django的orm需要注意的地方相关的知识,希望对你有一定的参考价值。

1. 区别

  基于对象的跨表查询相当于sql的子查询

  基于双下划綫的跨表查询类似于sql的联表查询

 

"""
正向查询 按外键字段
是否需要加all()

多对多的时候需要加all()
一对多和一对一都不需要加all()

外键字段关联的数据可能有多条还是单条
有多条则需要加all
没有则不需要

书写orm语句跟写sql语句一致 不要想着一次性将语句书写完成
写一步执行看结果 再接着写
"""
"""
反向查询 按表名小写
什么时候需要加_set.all()
当结果可能有多个的时候
不需要加_set.all()
当结构只会是一个的时候
"""

以上是关于Django的orm需要注意的地方的主要内容,如果未能解决你的问题,请参考以下文章

Django应用app创建及ORM

Django ORM distinct 查询,其中订单由带注释的字段完成,您需要 distinct('id')

Django 的 ORM

Django models ORM基础操作--白话聊Django系列

Django学习第5篇:Django之ORM数据库操作注意细节

django 数据库查询 ORM