cannot import name 'FieldDoesNotExist' from 'django.db.models.fields' (/usr/local/lib/python3.8/site-packages/django/db/models/fields/__init__.py)
Полная ошибка выглядит так
File "/usr/local/lib/python3.8/site-packages/django/template/backends/django.py", line 123, in get_package_libraries
raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'mptt.templatetags.mptt_tags': cannot import name 'FieldDoesNotExist' from 'django.db.models.fields' (/usr/local/lib/python3.8/site-packages/django/db/models/fields/__init__.py)
насколько я понял, мне нужно исправить строчку from django.db.models import FieldDoesNotExist на from django.core.exceptions import FieldDoesNotExist в файле init.py, у меня была похожая ошибка, я так сделал и вроде помогло, но проблема в том, что я не могу найти файл init.py, нигде, ни с помощью Ctrl + O в PyCharm, ни в самом ноутбуке, никак
Dockerfile
FROM python:3.8
ENV PIP_NO_CACHE_DIR=off \
PYTHONUNBUFFERED=1
#RUN pip install -U pip setuptools wheel \
RUN mkdir -p /Users/work/Projects/ims/api/requirements.txt
WORKDIR /Users/work/Projects/ims/api/requirements.txt
COPY . /Users/work/Projects/ims/api/requirements.txt
##RUN echo "$PWD"
RUN ls -al
#RUN pip3 install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
WORKDIR /opt/cron-ims/api/
COPY . .
RUN cd docs && make html
RUN chmod +x "./entrypoint.sh"
ENTRYPOINT ["sh", "./entrypoint.sh"]
EXPOSE 80
ENV PORT 80
CMD ["uwsgi", "./ims/uwsgi.ini"]
docker-sompose.yml
version: '3.7'
services:
db:
image: postgres:11
environment:
- POSTGRES_USER=ims
- POSTGRES_PASSWORD=ims
volumes:
- db-data:/var/lib/postgresql/data/
api:
build: api
environment:
- DATABASE_NAME=ims
- DATABASE_USER=ims
- DATABASE_PASSWORD=ims
- DATABASE_HOST=db
- DATABASE_PORT=5432
depends_on:
- db
volumes:
- web-media:/opt/cron-ims/api/media/
- web-staticfiles:/opt/cron-ims/api/staticfiles/
www:
build: www
depends_on:
- api
pos:
build: pos
depends_on:
- api
volumes:
db-data:
web-media:
web-staticfiles:
requirements.txt
django==3.2.5
django-cors-headers==3.7.0
django-currentuser==0.5.3
django-debug-toolbar==2.0
django-filter==2.2.0
django-gtin-fields==0.1.2
django-mptt==0.10.0
djangorestframework==3.10.3
djoser==2.0.3
pillow==8.3.1
psycopg2-binary==2.9.1
sentry-sdk==0.13.1
sphinx==2.2.1
uwsgi==2.0.18
Буду рад любой помощи
Ответы (1 шт):
Upgrade notes 0.12
Add support for Django 3.1 Drop support for Django 1.11. Drop support for Python 3.5. Fix an issue where the rebuild() method would not work correctly if you were using multiple databases. Update spanish translations.
У вас версия 0.10, а Django==3.2.5
mptt просто пока не поддерживает вашу версию django. Ждите обновления, либо ставьте Django 3.1.X и обновляйте django-mptt