Python 如何筛选django中未被跟踪的用户
朋友们,我正在使用django友谊和django 1.9来实现用户关注。但在“要跟踪的用户”页面上,我想筛选当前用户没有跟踪的用户。我应该如何实现这一点 这是我的观点Python 如何筛选django中未被跟踪的用户,python,django,Python,Django,朋友们,我正在使用django友谊和django 1.9来实现用户关注。但在“要跟踪的用户”页面上,我想筛选当前用户没有跟踪的用户。我应该如何实现这一点 这是我的观点 def users_to_follow(request): follow = Follow.objects.following(request.user) all_users = User.objects.all().exclude(follow) return render(request,"auths/
def users_to_follow(request):
follow = Follow.objects.following(request.user)
all_users = User.objects.all().exclude(follow)
return render(request,"auths/users_to_follow.html",locals())
这是我的用户_to _follow.html
{% for u in all_users %}
{{ u.username }}
<a href="{% url 'follow' u.username %}">Follow</a>
{% endfor %}
{%for u in all_users%}
{{u.username}
{%endfor%}
我认为views.py有问题。但我还没弄明白。朋友们,帮帮我。followname(变量)是用户对象的列表。您可以获得这些用户的ID,如下所示:
follow = Follow.objects.following(request.user)
follow_ids = [x.id for x in follow]
然后像这样使用exclude
:
to_follow = User.objects.all().exclude(id__in=follow)
下面的
列表应该包含您想要的用户 排除
不以这种方式工作。您可以尝试以下操作:
def users_to_follow(request):
all_users = User.objects.exclude(following__follower=request.user)
return render(request,"auths/users_to_follow.html",locals())
根据Django QuerySet(重点矿山):
字段查找是指定SQLWHERE子句内容的方式。它们被指定为QuerySet方法filter()、exclude()和get()的关键字参数
因此,您的exclude()
方法调用可以根据需要进行调整
all_users = User.objects.all().exclude(pk=follow)
就这样