class Ordman(models.Model):
pcod = models.CharField(db_column="PCOD", max_length=6)
class Meta:
managed = False
db_table = "ORDMAN"
class Shademst(models.Model):
code = models.CharField(db_column="CODE", primary_key=True, max_length=6)
class Meta:
managed = False
db_table = "SHADEMST"
这两个都是没有任何关系的连接,我需要在Django的ORM中的extra()的帮助下激发一个左联接查询,但是我可以应用的联接是内部联接,所以任何人都可以帮助我找出如何应用左联接加入其中。该数据库是旧数据库,因此无法对其进行更改]
基于评论
Ordman中的PCOD可能包含或可能没有数据,但是我仍然需要触发JOIN查询,我想执行LEFT JOIN,因此,如果PCOD没有数据,联接查询也会触发并带来数据。我需要开除
select * from ORDMAN LEFT JOIN SHADEMST on Ordman.shcd = SHADEMST.code
我建议仅将pcod
上的Ordman
字段定义编辑为实际上[[be外键,类似
pcod = models.ForeignKey(Shademst, db_column="PCOD", to_field="code")
并且Django应该足够聪明以推断1:N关系,并让您像往常一样进行联接。