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 шт):

Автор решения: Za Ars

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

Источник

→ Ссылка