[Django]-ImportError: No module named django_filters

73πŸ‘

βœ…

My pip version was old, really old. 1.5.6 When I installed my virtual environment it just worked, so I didn’t question. Lesson learned! Here is what I did in case it helps someone else…

In the virtual environment, I installed pip as described in the docs:
https://pip.pypa.io/en/stable/installing.html
python get-pip.py This upgraded me to pip 6.1.1

pip install django-filter
pip freeze > requirements.txt

Reading requirements.txt showed I had

django-filter==0.9.2
django-filters==0.1.0

So I uninstalled the older version with pip uninstall django-filters

notice the s on the older version but not on the new one

Really basic stuff but it really tripped me up. Thanks to anyone who took time to look into this!

πŸ‘€ksi_help

13πŸ‘

I also had the same issue. Even after installing django-filters I couldn’t import it

ImportError: No module named django_filters

The Django version I’m using is 1.8 and python version is 2.7.x

Solution is to install djangorestframework-filters

pip install djangorestframework-filters

The names are very confusing.

However django-rest-framework-filters is an extension to Django REST framework and Django filter that makes it easy to filter across relationships while Django-filter is a reusable Django application allowing users to declaratively add dynamic QuerySet filtering from URL parameters.

12πŸ‘

I also encountered this issue installing django-filter==2.2.0

This was my Django version:

Django [required: >=1.11, installed: 2.2]

settings.py:

INSTALLED_APPS = [
    # ...
    'django_filter',
]

This is the correct installation:

pipenv install django-filter
πŸ‘€andrei1111

4πŸ‘

I changed from django_filter to django_filters in installed apps and it was okay.

πŸ‘€Wanjiku K

3πŸ‘

I had a similar issue using django 1.7, djangorestframework==3.2.0 and latest django-filter==0.13.0:

Using DjangoFilterBackend, but django-filter is not installed
cannot import name Expression

I finally fixed it by downgrading django-filter to 0.11.

Now pip freeze looks like this and its working:

Django==1.7
django-filter==0.11.0
djangorestframework==3.2.0
πŸ‘€Walter B

1πŸ‘

We install it using: pip install django-filter or in case you are using a virtual environment like pipenv, use pipenv install django-filter .

the above install, adds the latest version of django-filter. Add "==version" to specify the version ( say 0.11.0) you need

In the settings.py under app, ensure it’s 'django_filters',

INSTALLED_APPS = [
    # ...
    'django_filters',
]
πŸ‘€barna

1πŸ‘

I tried all of the above answers and none of them worked for me. I later learnt that the pip script is not installing modules for the interpreter that the python command is using.

SOLUTION:

python -m pip install django-filter
πŸ‘€Jojo Bonnie

0πŸ‘

Ensure its django_filters and not django-filters in settings.py. Also keep in find it’s not django-filter, it’s django-filters.
But to install it:

pip install django-filter
πŸ‘€Swarnabha Das

0πŸ‘

I removed django_filters in the settings INSTALLED_APPS. this is worked for me

πŸ‘€Prafull Epili

0πŸ‘

I also experienced the same problem but i realized its because i had installed django-filter when am in the virtual environment.
I tried installing django-filter at the same directory without activating the virtual environment and it worked

I used

pip install django-filter
πŸ‘€David Mutuku

0πŸ‘

enter image description here
In my case, the issue was Interpreter, After wasting a day finally resolved the issue. Always check you are selecting the right Interpreter. I was getting this error before fixing the issue:
"django_filters" is not accessedPylance
Import "django_filters" could not be resolvedPylancereportMissingImports
Though I see requirment.txt showing django_filters 23.1

πŸ‘€Farhan Saikh

Leave a comment