#python #django
#python #django
Вопрос:
Итак, в моем проекте book_letter
у меня есть приложение с именем contents
. Внутри него у меня есть модель с именем Book
. Как показано ниже.
class Book(models.Model):
objects = models.Manager()
title = models.CharField(max_length = 30)
author = models.CharField(max_length = 20)
def __str__(self):
return self.title
И у меня есть другое приложение recommendation
с именем model Recommendation
. Как показано ниже.
from book_letter.contents.models import Book
class Recommendation(models.Model):
objects = models.Manager()
source = models.ForeignKey("Book", related_name='book', on_delete=models.CASCADE)
Однако при запуске я python manage.py runserver
получаю сообщение об ошибке
ModuleNotFoundError: No module named 'book_letter.contents'
Я не вижу, что я сделал не так. Есть идеи? Спасибо 🙂
Дерево каталогов ( synergy_django
это название проекта. Я назвал это book_letter
для удобства.)
Комментарии:
1. Я думаю, что у вас нет
contents
папки в вашемbook_letter
приложении. не могли бы вы отправить свое дерево каталогов, пожалуйста?2. @SirSaleh Я добавил дерево. Спасибо 🙂
3. вы использовали
django-admin startapp
для создания приложений? просто хочу убедиться, что у вас есть__init__
файл в каждом каталоге приложения4. @twrought Да, я создал приложения с
startapp
помощью command, и да, у меня есть__init___
файл в каждом каталоге приложения. 🙁5. Django ожидает, что вы импортируете эту модель, пройдя весь путь от вашего BASE_DIR — где находится manage.py ? поделиться полным деревом каталогов