Python 如何在django ORM中从联接表中获取列

Python 如何在django ORM中从联接表中获取列,python,django,orm,Python,Django,Orm,保持问题简单: 试图学习ORM 现在我陷入了简单的左连接问题 因此,让我们从基本模型开始: class City(models.Model): city=models.CharField(max_length=30) pin_code = models.IntegerField(null=False) class State(models.Model) city = models.ForeignKey(City,on_delete=models.CASCADE)

保持问题简单:

试图学习ORM

现在我陷入了简单的左连接问题

因此,让我们从基本模型开始:

class City(models.Model):
    city=models.CharField(max_length=30)
    pin_code = models.IntegerField(null=False)

class State(models.Model)
    city = models.ForeignKey(City,on_delete=models.CASCADE)
    state = models.CharField(max_length=30)
    province = models.CharField(max_length=30)
现在,我主要想做:

select c.pin_code 
from 
  State s 
left join City c on s.city = c.city;
我可以从强大的万维网中理解的ORM中的上述等价物是:

State.objects.select_related('city')
上面的循环查询集只提供状态表中的数据。 我没有“密码”栏


我在互联网上做了所有可能的搜索,但找不到任何解决方案。

您只需通过以下关系访问它

states = State.objects.select_related('city')

for state in states:
    state.city.pin_code