被简单的查询集过滤器困扰

时间:2012-06-18 18:19:33

标签: django django-queryset

我无法确定如何针对以下情况适当地过滤查询集。

我有一个有很多参与者的活动。这两个模型都是从国外数据源导入的,因此我想保留其数据的永久副本:

class Event(models.Model):
    address = etc...

class Participant(models.Model):
    event = models.ForeignKey('Event')
    user_profile = models.ForeignKey('people.UserProfile', blank=True, null=True)
    name = etc...

当外国数据源收到新事件时,它会向我发送一份副本,我将其填入这些模型中。导入脚本使用Participant的名称字段在现有的人员列表中尝试查找它们,如果是,则建立外键。

我手头有当前登录的UserProfile,还有Event.objects.all。我想通过当前登录的用户过滤事件。 .filter()的参数应该是什么?

2 个答案:

答案 0 :(得分:1)

首先,您有一个名为auth.User的{​​{1}}的ForeignKey。这很令人困惑。

其次,如果您想要所有与当前用户无关的事件,您需要:

user_profile

答案 1 :(得分:0)

似乎它没有复数。

Event.objects.filter(参与者 __user_profile=UserProfile.objects.get(user=get_current‌​_user()))