【发布时间】:2017-02-21 21:01:39
【问题描述】:
我正在尝试制作 Twitter 克隆。
该应用有一系列用户,每个用户都有一个用户个人资料。 UserProfile模型如下
class UserProfiles(models.Model):
authenticated_user = models.OneToOneField(User, related_name="user_profile")
handle = models.CharField(max_length=50)
display_name = models.CharField(max_length=50)
following = models.ManyToManyField("self", related_name="followers", null=True)
def __str__(self):
return self.authenticated_user.handle
“关注”属性与 UserProfiles 是多对多的关系,因为每个用户配置文件都可以关注许多其他配置文件,并且许多配置文件可以关注另一个配置文件。
如果我有一个 UserProfiles 实例,我们将其命名为 current_user,我可以通过以下操作找到它关注了多少个配置文件
current_user.following.count
我还希望能够告诉用户有多少人在关注他们。由于related_name 参数设置为“追随者”,我可以通过这样做来获得追随者的数量似乎是合理的
current_user.followers.count
然而,这会返回一个错误,“'UserProfiles' 对象没有属性 'followers'”
为什么我所做的不起作用?我能做些什么呢?
【问题讨论】:
-
您在添加
related_name后运行了makemigrations和migrate?