одном сеттинги в другом аппки)
проблема заключается, в следующем
после добавления дб роутера, ну и второй дб, а также бекенда для дб
начал получать
RuntimeError: Model class marketplace.goals.models.Goal doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
при проверке выяснил, что импорты выглядят так
from marketplace.goals.models import Goal
и если поменять их на
from goals.models import Goal
то вроде классы становится видимыми (в path есть путь до пакета c аппками)
вопрос в том, что же происхродит, почему после добавления новой зависимости и 2 дб все крашится?
Вот поэтому я всегда против такой структуры проекта, вроде кажется что проще, а потом вылазит. Как лэйбл нэйм в apps указан? И да в инсталд апс лучше полный путь до конфига
в аппс стандартно, если cors, то там CorsConfig с name = 'cors'
Должен быть marketplace.cors
Но не забудь в инсталдапс тоже marketplace.cors.CorsConfig
но все таки, вопрос мой в том, какого лешего оно теперь не работает? если сделать так как предложил он аппку видит
Ну условно говоря он ищет модели по app_label.model_name
То есть именно не по структуре, а буквально вот так, то есть игнорит верхнюю папку и models.
Кстати красивое решение видел у хулигана Дениса, он из рейнджеров ушел но в джобсах поймать можно, если не ошибаюсь он в инит конфига задает проджект рут - папку с аппами и вроде все работает как обычно
такое же решение и у меня, вроде, в пас, отдан рут с аппками ща попробую с инитом конфига, можешь по точнее сказать что именно он туда отдает?
Ну тогда и должно работать без marketplace. Насколько я понимаю
да, верно, так работает
меня смущает, что оно работало до того, как я добавил новый бекенд~)
Ну вот такую подход я подсмотрел в джанго кукикатере, многословно но не выглядит магией
Вот я про то что эти проблемы вылазят очень неожиданно)
хех, как же я не хочу регистер джанги лопатить ((
Вот такой вариант нашел https://www.paulpepper.com/blog/2014/02/locating-django-applications-their-own-sub-directory/
помнишь, я говорил, что путь до пакета есть в пас, оно реализовано похоже current_path = os.path.dirname(os.path.abspath(file)) sys.path.append(os.path.join(current_path, "marketplace")) но в cсылке сделано наоборот current_path = os.path.abspath(os.path.dirname(file)) ша попробую) проверил оно генерирует такой же путь что уже есть
@hulygun вот тут все есть
я бы просто писал INSTALLED_APPS = [ ... 'core', 'goals', 'categories', 'liquidity' ]
Обсуждают сегодня