Python Django ORM中的复杂查询
我有一个型号Python Django ORM中的复杂查询,python,django,orm,Python,Django,Orm,我有一个型号如下: 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_fo
如下
:
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)
当我处理一个用户时,如何获取他跟踪的所有用户?我假设我想要类似这样的东西:“给我所有存在一个Follow对象的用户,该对象的
datetime\u取消了为None
,而follower
就是该用户,然后为所有这些follower对象找到followee
字段中的用户。”我怎么用Django写这个呢?我现在离Django很远,所以语法可能是错误的。但我猜你想要这样的东西:
User.objects.filter(Follow_related_name__in = ['_follows_we_are_follower', ,'_follows_we_are_followee'], datetime_canceled__is_null =True)
编辑
User.objects.filter(_follows_we_are_followee__follower=my_user, _follows_we_are_followee__datetime_canceled=None)
这将返回以下结果。我们需要用户。
User.objects.filter(_follows_we_are_followee__follower=my_user, _follows_we_are_followee__datetime_canceled=None)