当前位置:  开发笔记 > 编程语言 > 正文

django内连接查询

如何解决《django内连接查询》经验,为你挑选了1个好方法。

我正在与django合作,并且很难掌握如何进行复杂的查询

这是我的模特

class TankJournal(models.Model):
    user = models.ForeignKey(User)
    tank = models.ForeignKey(TankProfile)
    ts = models.DateTimeField(auto_now=True)
    title = models.CharField(max_length=50)
    body = models.TextField()

    class Meta:
        ordering = ('-ts',)
        get_latest_by = 'ts'

我需要拉出坦克对象给出的用户名.

用户对象是django中内置的一个..谢谢!

编辑:

我试过这个

print User.objects.filter(tankjournal__tank__exact=id)

它似乎没有拉出id ...并将tankjournal中的所有内容拉出来并将其与坦克对象相匹配



1> Sergey Golov..:

如果你已经拥有坦克对象,你应该能够做到:

tank.user.username

要减少数据库查询,您可能需要考虑使用 select_related(),例如

tanks = TankJournal.objects.all().select_related()
for tank in tanks:
    username = tank.user.username

如果您有特定的坦克ID,那么:

tank = TankJournal.objects.select_related().get(id=123456)
username = tank.user.username

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有