django外键-left join
概括: 模型里加 null=True
关于 Django ORM 外键值为空时,查询不到信息此条信息的解决办法
# 使用方法 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就能实现…记录下