将 Django 过滤器转换为 RAW SQL 查询 [重复]

Posted

技术标签:

【中文标题】将 Django 过滤器转换为 RAW SQL 查询 [重复]【英文标题】:Convert Django Filters to RAW SQL Queries [duplicate] 【发布时间】:2021-08-15 07:46:05 【问题描述】:

大家好,谁能帮我解决这个问题? 我想将 django 过滤器查询转换为原始 sql 查询,下面是示例 Django 查询

Product.objects.filter(name__icontains=self.request.GET.get('product_name'))

是否有在线方法或其他方式可以将其转换为我的 postgresql 数据库或任何数据库的 RAW sql 查询。 我不太了解数据库查询 如果有人可以提供帮助,我将不胜感激。

【问题讨论】:

query = Product.objects.filter(name__icontains=self.request.GET.get('product_name')).query 【参考方案1】:

您可以通过将.query 属性转换为字符串来查看将从任何 Django 查询集运行的 SQL

queryset = Product.objects.filter(name__icontains=self.request.GET.get('product_name'))
print(str(queryset.query))

【讨论】:

以上是关于将 Django 过滤器转换为 RAW SQL 查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 LEFT JOIN 查询将 RAW SQL 转换为 DQL

将 SQL 转换为 Django 可以使用的东西

Django 查询:返回一个将转换为“AND (...)”的 Q 对象

Django 将模型转换为 sql 代码

如何将此 SQL 查询转换为 Django?

Django-filter:按模型属性过滤