【发布时间】:2023-03-23 23:21:02
【问题描述】:
我有一个类似的跟随模型:
class Follow(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='fuser') #who is following
follow = models.ForeignKey(User, on_delete=models.CASCADE, related_name='ffollow') #who is followed
然后我想通过关注获得用户。
案例1:我想找到user_john和user_mark都关注的用户。
users = User.objects.filter(Q(this_user_is_followed_by=user_john)
& Q(this_user_is_followed_by=user_mark))
案例2:想查找user_john关注的用户,但是user_mark关注的用户。
users = User.objects.filter(Q(there_user_is_followed_by=user_john)
& Q(these_user_are_following=user_mark))
如何做那个过滤器?太难了。
users = User.objects.filter(Q(ffollow__user=user)
& Q(ffollow__user=user_who_read))
将是案例 1 的答案。
但我不能确定。
【问题讨论】: