Вопрос:
У меня проблема с импортом модели из другого приложения. Я использую Django 2.0.
Моя структура проекта выглядит так:
—api —api —settings.py —urls.py —wsgi.py —product —models.py —chat —models.py —manage.py
Чтобы показать только проблему, я упростил структуру. Если вам не хватает чего-то важного, дайте мне знать об этом.
Файл, вызывающий ошибку:
чат/models.py
from api.product.models import Product from django.contrib.auth.models import User from django.db import models class Chat(models.Model): product = models.ForeignKey(Product) enquirer = models.ForeignKey(User)
Продукт/models.py
from django.db import models from django.contrib.auth.models import User class Product(models.Model): id = models.AutoField(primary_key=True) user = models.ForeignKey(User, on_delete=models.CASCADE) category = models.ForeignKey(Category, related_name=’category’, on_delete=None) front_image = models.ImageField(upload_to=»») title = models.CharField(max_length=100) price = models.PositiveIntegerField() description = models.CharField(max_length=5000) date = models.DateTimeField(auto_now_add=True)
settings.py
INSTALLED_APPS = [ ‘account.apps.AccountConfig’, ‘product.apps.ProductConfig’, ‘profileInfo.apps.ProfileInfoConfig’, ‘chat.apps.ChatConfig’, ‘django.contrib.admin’, ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘rest_framework’, ‘rest_framework.authtoken’, ‘corsheaders’, ]
Ошибка заключается в следующем: ModuleNotFoundError: No module named ‘api.product’ Я не понимаю, почему Django даже не может найти api.product.
Это обычная проблема? Спасибо за помощь.
Лучший ответ:
Основываясь на ваших настройках и каталоге файлов, корневой каталог проекта является каталогом app uppest. Это означает, что вы импортируете модели, написав:
from product.models import Product
вместо:
from api.product.models import Product
Если ваша среда IDE предложила импорт, что-то, вероятно, неверно с корнем проекта.