У меня есть проект, который я написал на PHP / Symfony, который использует 45 таблиц.Я нахожусь в процессе портирования его на Python / Django.
В течение многих лет я верил, что вы должны разделить свои проекты на несколько небольших файлов, а не на несколько больших файлов.Из того, что я понимаю, в это не странно верить.В Rails и Symfony существует соглашение по одной модели на файл.Однако в Django кажется, что большинство разработчиков помещают все модели каждого приложения в один файл.
Это имеет смысл для меня, если ваши приложения достаточно малы.Однако для больших приложений это не имеет смысла, и у меня есть хотя бы одно большое приложение.
Из 45 таблиц, которые использует мой проект, 35 тесно связаны.У меня есть скрипт, который импортирует данные из файлов CSV.Для каждой строки в каждом файле CSV я сохраняю 50-80 частей данных в 30-35 различных таблицах одним махом.
Может быть, я просто думаю об этом неправильно, но это было бы невероятно странномне разделить мой проект на 6 или 7 разных приложений, когда почти все мои таблицы неразрывно связаны.Когда я касаюсь одного стола, я касаюсь всех 35 столов.Границы должны быть произвольными.Какой смысл в этом?
Пожалуйста, прости меня, если я выгляжу предвзято, потому что я определенно предвзят.У меня нет этой проблемы в Symfony, и у меня не было бы ее в Rails.(Я выбрал Django из-за возможностей GeoDjango и Python GIS.)
- В идеальном мире у меня будет одна модель на файл.
- Если я попытаюсь иметь одну модель на файлЯ получаю проблемы с циклическими ссылками.
- Я мог бы избежать проблем с циклическими ссылками, поместив все свои модели в один файл, но мне это кажется неправильным.
- Я мог бы избежать размещения всех своих моделей втот же файл, разделив их на отдельные приложения, но для того, чтобы получить достаточно маленькие приложения, мне пришлось бы разбить мой проект произвольным (и, следовательно, бессмысленным) способом.
Что я долженделать? * * 1023