如何处理 django 查询集中的变量字符串?

Posted

技术标签:

【中文标题】如何处理 django 查询集中的变量字符串?【英文标题】:How to deal with a variable string in django queryset? 【发布时间】:2018-06-16 02:22:29 【问题描述】:

我正在尝试编写一个 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=cuser”替换为“user=request.user”,并返回 JSON 列表中的值以及模板的其他值。它奏效了。 【参考方案1】:

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

【讨论】:

谢谢!它是一个变量。我出错的地方是,我试图通过将它包含在“”中来获取模板中查询集的值。现在我将其更改为相应的视图函数,并将“user=cuser”替换为“user=request.user”,并返回 JSON 列表中的值以及模板的其他值。它奏效了。

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

如何处理 VBA 中 HTML 变量的 MailChimp API 响应?

什么是JSON+如何处理JSON字符串

如何处理大字符串和有限的内存

ASP.NET Core Web API - 如何处理 URL 查询字符串中的“null”与“undefined”?

从 PHP 生成 SQL 时如何处理 SQL 表名中的特殊字符?

JAVA是是如何处理字符的。