我正在与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中的所有内容拉出来并将其与坦克对象相匹配
如果你已经拥有坦克对象,你应该能够做到:
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