ModuleNotFoundError при импорте класса из другого приложения - PullRequest
0 голосов
/ 09 апреля 2020

В моем django проекте LibraryManagement у меня есть два приложения «книга» и «авторы». Я пытаюсь установить отношения sh между двумя приложениями, используя внешний ключ. В то время как я пытаюсь импортировать класс авторов в книгу, я получил ошибку ModuleNotFound: нет модуля с именем LibraryManagement.authors

Ниже представлена ​​структура моего проекта

LMS
 -LibraryManagement
   -authors
   -book
   -LibraryManagement
 -venv

Код models.py от авторов app

from django.db import models

class Authors(models.Model):
   author_name = models.CharField(max_length=100)
   description = models.TextField(max_length=300)

Код models.py из книги app

from django.db import models
from LibraryManagement.authors.models import Authors

class Book(models.Model):
    book_name = models.CharField(max_length=100)
    author = models.ForeignKey(Authors)
    remarks = models.TextField(max_length=300)

1 Ответ

1 голос
/ 09 апреля 2020

Вы создаете эти файлы в пакетах. Пакеты в python работают только с файлом __init__.py внутри. Итак, если вы хотите иметь возможность:

from LibraryManagement.authors

LibraryManagement должен иметь файл __init__.py внутри. То же самое происходит внутри «авторов». Он должен иметь файл __init__.py, чтобы можно было импортировать его как пакет.

Файл __init__.py может быть пустым, но он должен существовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...