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 ORM distinct 查询,其中订单由带注释的字段完成,您需要 distinct('id')
Django models ORM基础操作--白话聊Django系列