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

问题描述 投票:-1回答:1

我正在尝试编写一个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()'

有关如何使其工作的任何想法?

python django django-models django-templates django-queryset
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.