Django ORM中的复杂查询

时间:2014-02-26 14:07:52

标签: python django orm

我有一个模型Follow

class Follow(BaseModel):

    follower = django.db.models.ForeignKey(
        'User',
        related_name='_follows_we_are_follower'
    )
    followee = django.db.models.ForeignKey(
        'User',
        related_name='_follows_we_are_followee'
    )
    datetime_canceled = django.db.models.DateTimeField(null=True, blank=True)

当我处理用户时,如何获得他所关注的所有用户?我假设我想要一些类似于“给我所有用户存在跟随对象datetime_canceled Nonefollower是该用户,然后为所有这些用户获取我是followee字段中的用户。“我如何在Django中写这个?

2 个答案:

答案 0 :(得分:1)

我现在离django很远所以,语法错了。但我想你想要这样的东西:

User.objects.filter(Follow_related_name__in = ['_follows_we_are_follower', ,'_follows_we_are_followee'], datetime_canceled__is_null =True)

答案 1 :(得分:0)

my_user._follows_we_are_follower.filter(datetime_canceled=None)

修改

User.objects.filter(_follows_we_are_followee__follower=my_user, _follows_we_are_followee__datetime_canceled=None)