Форум сайта python.su
Судя по статье “Организация кода в Django-проекте”,
можно наравне с models.py использовать пакет models.
Но как ни пытаю - не получается.
У кого-нибудь получалось?
Просто в основе сайта будет лежать достаточно сложная схема таблиц,
в одном файле их держать - тяжело для чтения и правки,
а разносить по разным app не хочется - логика восприятия нарушается.
Идеально было бы завернуть в пакет models…
Офлайн
Статью в студию :)
Офлайн
Даже моя телепатическая сила мне не помогла в понимании того, что надо сделать, и что не получается.
Офлайн
Да, использование каталога-пакета – частый паттерн. Что у вас не получилось так и не ясно.
Подсказки:
- не забываем __init__.py
- не забываем в нем импортировать модели из подмодулей
- ну и самое вкусное – обязательно указываем app_label у Meta всех моделей. Указывать, соответственно, надо имя приложения в котором пакет.
Офлайн
Alexey, ещё очень полезная штука для экспериментов - это manage.py shell, когда можно залезть и всё попробовать руками.
CombatPenguin, видимо имелось ввиду http://www.pyobject.ru/blog/post/django-code-layout
Офлайн
Daevaorn спасибо!
Прописал app_label и все заработало :).
Странно, что про app_label слышу впервые…
Ferroman
Ну т.е.
/projects
/apps
/application_1
/models
model_base.py
model_spec.py
model_etc.py
__init__.py
__init__.py
urls.py
views.py
manage.py
urls.py
settings.py
Офлайн
DaevaornА где в офф документации про app_label написано? подскажите что то я такого не нашел :-((
Да, использование каталога-пакета – частый паттерн. Что у вас не получилось так и не ясно.
Подсказки:
- не забываем __init__.py
- не забываем в нем импортировать модели из подмодулей
- ну и самое вкусное – обязательно указываем app_label у Meta всех моделей. Указывать, соответственно, надо имя приложения в котором пакет.
Офлайн
romankrvА это не описано:)
А где в офф документации про app_label написано? подскажите что то я такого не нашел :-((
Офлайн
DaevaornПонятно. Дааа ,это уже пошел уровень гуру с черным поясом и с ковырянием в исходниках Django!!! :-))romankrvА это не описано:)
А где в офф документации про app_label написано? подскажите что то я такого не нашел :-((
Отредактировано (Сен. 28, 2008 22:38:02)
Офлайн