繁体   English   中英

如何从 django ORM 中的连接表中获取列

[英]How to get columns from joined table in django ORM

保持问题简单:

尝试学习 ORM。

现在我遇到了简单的左连接问题。

所以让我们从基本的 model 开始:

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;

我可以从强大的万维网 Web 中掌握的 ORM 中的上述等效项是:

State.objects.select_related('city')

上面关于循环的查询集只给了我来自 State 表的数据。 我没有得到“pin_code”列。

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

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

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

for state in states:
    state.city.pin_code

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM