如何在django queryset中处理变量字符串?

时间:2018-01-06 13:15:58

标签: python django django-models django-templates django-queryset

我正在尝试编写一个django查询集。

    Review.objects.filter(user__exact=user).count()

问题是“user__exact”必须与“cuser”变量(当前登录的用户)的当前值匹配,然后返回该用户提交的评论的计数。但如果我这样做,我就会收到这个错误。

    TemplateSyntaxError at /dashboard/
    Could not parse the remainder: '(user__exact=cuser).count()' from 'Review.objects.filter(user__exact=user).count()'

关于如何使其发挥作用的任何想法?

1 个答案:

答案 0 :(得分:0)

如果cuser variabe是User类的实例,在这种情况下您不需要exact,只需使用:Review.objects.filter(user=cuser).count()。 如果exact是字符串(例如用户名),请cuser使用Review.objects.filter(user__username__exact=cuser).count()get或首先使用user = User.objects.get(username=cuser)方法获取用户实例:Review.objects.filter(user=user).count()。并将此实例与过滤器一起使用:ImageView