我有一个小问题,想知道是否有人可以帮助我。我正在尝试检查request.user是否是ManyToMany关系表中的用户之一。有没有办法实现这个目标?
示例:
我想检查用户是否关注了商家页面,如果他们是,请让他们取消关注,反之亦然。
我有:
followers = models.ManyToManyField(User, related_name="Followers", null=True, blank=True)
只是想知道是否有办法检查request.user.id针对特定id的关注者表。
谢谢大家。
史蒂夫
答案 0 :(得分:2)
这种“djangoic”方式:
if page.followers.filter(id=request.user.id).exists():
do_something()
更“pythonic”的方式,不推荐,因为它是非常低效的数据库方式:
if request_user in page.followers.all():
do_something()
(稍后将所有用户数据加载到python中,而第一个使用db查询)
答案 1 :(得分:0)
您应该可以轻松查看
try:
this_page = BusinessPages.objects.get(slug=slug)
except BusinessPage.DoesNotExist:
raise Http404
if request.user in this_page.followers.all():
...