猿问

如何从 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)

    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')

上面的循环查询集只给我 State Table 中的数据。我没有得到“pin_code”列。


我在 Internet 上进行了所有可能的搜索,但找不到任何解决方案。


手掌心
浏览 71回答 1
1回答

噜噜哒

您只需通过以下关系访问它states = State.objects.select_related('city')for state in states:    state.city.pin_code
随时随地看视频慕课网APP

相关分类

Python
我要回答