【发布时间】:2021-02-25 18:49:57
【问题描述】:
我第二次问这个问题是因为上次我没有得到这个问题的正确答案。嗯,我认为很难解释我真正想要做的事情,但让我试着简要解释一下,以便你们更好地理解。
在一张图片中,您可以看到关注者列表,我们还可以看到关注者列表和每个关注者的关注者。我想运行这种查询。我正在尝试使用以下代码
views.py
def get_context_data(self, *args, **kwargs):
context = super(FollowerView,self).get_context_data(*args, **kwargs)
user = context['user']
user_com = User.objects.get(username=user)
myfollowers = user_com.is_following.all()
followers_Array =[]
followerings_Array =[]
for target_list in myfollowers:
user_obj = User.objects.get(username=target_list)
followers_obj = user_obj.is_following.all()
print(followers_obj,'name o ki line')
followerings_Array.append(followerings_Array)
print(followers_obj,user_obj)
followerings_obj = user_obj.userprofile.follower.all()
followerings_Array.append(followerings_obj)
print(followerings_obj,user_obj)
print(followerings_Array,'arry one one one ')
context['myfollowers_data']= followers_Array
context['myfollowerings_data']= followerings_Array
return context
好吧,我在代码中使用了两个数组,但我不想使用它们,现在我无法通过在上下文中返回数组来获得正确的输出。如果数组是不必要的,而不是告诉我其他方式并告诉我如何以我在图片中显示的方式显示数据,我将在此处共享关注者模板,以防我在那里做错了什么。
{% for follower in user.is_following.all %}
<div class="followers-body">
<img class="img-responsive img-circle" src="{{follower.avatar.url}}" alt="">
<div class="name-box">
<h4>{{follower}}</h4>
<span>@{{follower}}</span>
<div class="followers-base">
<ul class="list-group">
<li class="list-group-item full-width">
<div class="pull-left" style="margin-right: 20px;">
{% if myfollowers_data %}
{% for user in myfollowers_data %}
<img src="{{user.userprofile.avatar.url}}" alt="" class="img-circle max-w-40 ">
{% endfor %}
{% endif %}
<span> {{myfollowers_data.count}} Followers </span>
</div><!--/ pull-left -->
</li>
<li class="list-group-item full-width">
<div class="pull-left">
{% for usr in myfollowerings_data %}
<img src="{{usr.userprofile.avatar.url}}" alt="" class="img-circle max-w-40 ">
{% endfor %}
<span> {{myfollowerings_data|length}} Following </span>
</div><!--/ pull-right -->
</li><!--/ list-group-item -->
</ul>
</div><!--/ followers-base -->
</div><!--/ name-box -->
<span><a href="#" class="kafe-btn kafe-btn-mint-small"> Follow</a></span>
</div><!--/ followers-body -->
{% endfor %}
models.py
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
follower = models.ManyToManyField(User, related_name ='is_following',blank=True,)
close_friends = models.ManyToManyField(User,related_name='my_close_friends', blank=True)
rank = models.ManyToManyField(Rank, related_name='rank', default='Newbie', blank=True)
avatar = models.ImageField(("Avatar"), upload_to='displays', default = '1.jpg',height_field=None, width_field=None, max_length=None,blank = True)
create_date = models.DateField(auto_now_add=True,null=True)
@property
def email_address(self):
return self.user.email
objects = ProfileManager()
def __str__(self):
return f'{self.user.username}'
def get_absolute_url(self):
return reverse("profiles:final_detail", kwargs={"username": self.user.username})
如果需要的代码多于在评论会话中告诉我。我会用这些信息更新我的问题。
【问题讨论】:
-
你能分享你的模型结构吗?
-
检查我的问题,我刚刚更新了我的问题并添加了模型
-
所以你想遍历一个用户的关注者列表,以及模板中的每个关注者的关注者?是吗?
-
是的,就像我在图片中显示的那样
-
每个关注者的关注者和关注者也是如此
标签: django django-models django-rest-framework django-views django-forms