在djang中选择相关对象

2024-09-26 18:14:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下问题:

我的应用程序有两种型号:

(一)

class ActiveList(models.Model):
    user = models.ForeignKey(User, unique=True)
    updatedOn = models.DateTimeField(auto_now=True)
    def __unicode__(self):
        return self.user.username

'''
GameClaim class, to store game requests.
'''
class GameClaim(models.Model):
    me = models.ForeignKey(ActiveList, related_name='gameclaim_me')
    opponent = models.ForeignKey(ActiveList, related_name='gameclaim_opponent')

在我看来,我把所有的ActiveList对象都取了=ActiveList.objects.all()并将其传递给模板

在模板中,我循环访问ActiveList中的每一项,并创建一个用于客户机应用程序的xml文件。在

问题是:

如何查询一个用户(如test,ActiveList的一部分)对处于循环中的用户所做的声明的信息

用户2是这样的

^{pr2}$

在本例中,用户2是一个项目


Tags: 用户nameselftrue应用程序modelmodelsclass
2条回答

我不确定我完全理解你的问题,但我想你要找的信息可能在这里:http://docs.djangoproject.com/en/dev/topics/db/queries/

如果你找不到答案,也许你可以澄清这个问题?在

您所看到的操作在视图中比模板更适合。我想你想要的是:

claimer = User.objects.get(name='test')
claimed_opponents = User.objects.filter(gameclaim_opponent__me__user=claimer)

然后您可以将它们传递到模板中,并直接对其进行操作。在

您还可以重新考虑表之间的关系。我认为索赔应该直接在用户之间进行,而给定用户是否处于活动状态应该与关系无关。我认为一个用户应该能够声明一个游戏与一个不活跃的用户,即使他们必须等待用户重新激活之前,游戏可以开始。在

相关问题 更多 >

    热门问题