【发布时间】:2021-04-17 07:11:40
【问题描述】:
我正在尝试实现一个用户可以在 django 中互相关注的网络,如下所示:
> class User(AbstractUser):
> followings = models.ManyToManyField('self', related_name='followers', symmetrical=False)
所以followings 字段将包含用户关注的所有用户,我还希望能够访问用户的所有关注者,因此related_name。
我的问题是,如果我有一个用户的用户名,我如何进行查询以检索该用户对象,并附上其关注数量和关注数量的注释?这是我尝试过的:
data = User.objects.annotate(number_of_followers=Count('followers'), number_of_followings=Count('followings')).get(username=user)
对我来说似乎没问题,但不知何故,它显示的值与实际数据库中的实数不匹配,正如我使用 django 管理应用程序检查过的那样。
【问题讨论】:
标签: python django django-models orm many-to-many