在Django中,我想使用活跃用户为QuerySet
的{{1}}列表来过滤User
。
我选择扩展following
类,而不是将其替换为自定义类,但我不确定这是否是正确的选择。
因此我拥有的是User
类,其中UserProfile
为其他UserProfiles,ManyToManyField
为OneToOneField
。
我的User
看起来像QuerySet
但Entry.objects.filter(author__in=request.user.userprofile.following.all())
是author
到ForeignKeyField
而不是User
,所以我即将改变UserProfile
代替Entry.author
。
所以我的问题是,优先级越来越低:
UserProfile
改为author
是否正确?因为那时我有UserProfile
之类的东西,这是不直观的。entry.author.user.username
类可能会更好吗?User
的{{1}}是UserProfile
与其他following
而不是ManyToManyField
是对的吗?答案 0 :(得分:0)
由于您的用户可以互相关注并且条目来自这些人,因此将作者UserProfile设置为使得两个模型在逻辑上处于同一级别是完全合理的
答案 1 :(得分:0)
在UserProfile模型中:
following = models.ManyToManyField(User, related_name="followed_by")
在此方案中,user.followed_by是UserProfiles的列表,但user.userprofile.following是用户列表。