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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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()'

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

答案

如果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()

以上是关于如何在django queryset中处理变量字符串?的主要内容,如果未能解决你的问题,请参考以下文章

Django Admin:获取根据 GET 字符串过滤的 QuerySet,与更改列表中看到的完全一样?

Django中Ajax处理

Django之QuerySet 查询

如何在 Django 中覆盖“get_queryset()”

Django QuerySet values_list 返回未知字符

在 Django 中,如何使用动态字段查找过滤 QuerySet?