首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导入QUERY_TERMS

无法导入QUERY_TERMS
EN

Stack Overflow用户
提问于 2019-12-03 21:27:10
回答 2查看 6K关注 0票数 5

我正在通过PythonDjango运行一个网站。

代码语言:javascript
复制
Django-filters=2.1 installed
Django=2.1 installed

当我运行时,我得到下面的错误。

代码语言:javascript
复制
importError: Could not import 'django_filters.rest_framework.DjangoFilterBackend' for API setting 'DEFAULT_FILTER_BACKENDS'. 
ImportError: cannot import name 'QUERY_TERMS' from 
'django.db.models.sql.constants' (C:\Users\Android V\AppData\Loc
    al\Programs\Python\Python37-32\lib\site-packages\django\db\models\sql\constants.
    py).
EN

回答 2

Stack Overflow用户

发布于 2019-12-03 21:46:07

Short answer:将您的django-filter包(不要与django包混淆)升级到最新版本。

失败的原因是因为在Django中有一个changeset [GitHub]确实从django.db.models.sql.constants中删除了QUERY_TERMS常量,以允许ModelAdmin使用任何查找。此更改已部署在django-2.1中(因此在django-2.0中,仍有一个QUERY_TERMS常量)。

django-filter-1.1.0包仍然使用该常量。这是在changeset [GitHub]中修复的,从django-filter-2.0.0开始,不再使用它。

票数 4
EN

Stack Overflow用户

发布于 2022-01-16 09:21:52

我在centos7中的用例显示了错误:

文件"/root/wangxq/python/vidly/api/models.py",第2行,来自tastypie.resources导入ModelResource文件资源包/tastypie/resources.py“,第32行,在from django.db.models.sql.constants import QUERY_TERMS ImportError中:无法从'django.db.models.sql.constants‘ImportError导入名称'QUERY_TERMS’

要解算,请执行以下操作:

编辑文件"/root/.local/share/virtualenvs/vidly-j9gvS3wP/lib/python3.9/site-packages/tastypie/resources.py",并将try块添加到"from django.db.models.sql.constants import QUERY_TERMS“行,如下所示:

代码语言:javascript
复制
try:
    from django.db.models.sql.constants import QUERY_TERMS
except ImportError:
    QUERY_TERMS = {
      'exact', 'iexact', 'contains', 'icontains', 'gt', 'gte', 'lt', 'lte', 'in', 'startswith', 'istartswith', 'endswith', 'iendswith', 'range', 'year','month', 'day', 'week_day', 'hour', 'minute', 'second', 'isnull', 'search','regex', 'iregex',
   }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59158204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档