从其他应用程序导入类时发生ModuleNotFoundError

时间:2020-04-09 13:10:10

标签: python django django-models

在我的Django项目LibraryManagement中,我有两个应用程序“ book”和“ authors”。我正在尝试使用外键在两个应用程序之间建立关系。当我尝试在书中导入类作者时,出现错误ModuleNotFound:没有名为“ LibraryManagement.authors”的模块

下面是我的项目结构

LMS
 -LibraryManagement
   -authors
   -book
   -LibraryManagement
 -venv

作者应用中的models.py代码

from django.db import models

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

图书应用中的models.py代码

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 个答案:

答案 0 :(得分:1)

您正在包中创建这些文件。 python中的软件包只能在其中的__init__.py文件中使用。 因此,如果您希望能够做到:

from LibraryManagement.authors

LibraryManagement中必须有一个__init__.py文件。在“作者”中也是如此。它必须有一个__init__.py文件,因此您可以将其作为软件包导入。

__init__.py文件可以为空,但必须存在。