python - 无法导入 QUERY_TERMS
问题描述
我正在通过Python
and运行一个网站Django
。
Django-filters=2.1 installed
Django=2.1 installed
当我运行时,我收到以下错误。
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).
解决方案
简短回答:将您的django-filter包(不要与django包混淆)升级到最新版本。
失败的原因是因为在 Django 中有一个变更集 [GitHub]确实QUERY_TERMS
从 , 中删除了常量django.db.models.sql.constants
,以允许ModelAdmin
使用任何查找。此更改已部署在django-2.1中(因此在django-2.0中,仍然有一个QUERY_TERMS
常量)。
django-filter-1.1.0包仍然使用该常量。这已在变更集 [GitHub]中修复,从django-filter-2.0.0开始,不再使用。
推荐阅读
- python - 如何在填写表单之前使用基于类的 UpdateView 创建新的“草稿”对象?
- java - Junit 测试不会取代 placeHolders
- android - 在没有父密钥的情况下获取子“信息”的最佳方法是什么?
- java - 如何安装 OpenJFX 11
- android - 如何在gettersetter类中将来自一个活动的图像Uri和来自另一个活动的数据发送到firebase
- c# - 有没有一种简单的方法来检查一个值是否是 if 语句中的许多其他值之一?
- jupyter-notebook - 用于在 Jupyter Notebook 中显示命令文档的 Shift Tab 不起作用
- firebase - 为什么 localhost 中没有 Firebase 数据查看器?
- jekyll - 试图了解 Jekyll 重定向的工作原理
- python - 字典理解和条件有问题