django外键-left join
概括: 模型里加 null=True
关于 Django ORM 外键值为空时,查询不到信息此条信息的解决办法
1 2 3 4 5 6 7 | # 使用方法 Article.objects. all ().select_related( "category" ) # 直接按照model方式这样查询,sql使用的inner join的查询,会导致没有关联的查询不出来 # 当腰使用left join时将外键改成以下 category = models.ForeignKey(to = "Category" , to_field = "name" , on_delete = models.DO_NOTHING, related_name = "category" , null = True ) |
本文主要是讲述如何使用left join的查询方式,前期使用select_related的时候刚好这里没有加null=True,执行的sql是inner join的方式;mysql上又设置了外键可为空,导致正式使用的时候那些外键为空的没有查询到…后面在网上一直未找到方法(也可能找寻的方式有误),后面一直琢磨看pycharm的sql出现了left join的语句,才发现加个null=True就能实现…记录下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)