Это довольно распространенная потребность ... Я не могу представить, как пробираться через файл models.py длиной 10 000 строк: -)
Вы можете разбить файл models.py
(и тоже views.py) на пакет. В этом случае дерево вашего проекта будет выглядеть так:
/my_proj
/myapp
/models
__init__.py
person.py
Файл __init__.py
превращает папку в пакет. Единственное, что нужно, - это обязательно определить внутренний класс Meta
для ваших моделей, который указывает app_label для модели, иначе у Django возникнут проблемы при построении вашей схемы:
class Person(models.Model):
name = models.CharField(max_length=128)
class Meta:
app_label = 'myapp'
Как только это будет сделано, импортируйте модель в ваш файл __init__.py
, чтобы Django и sync db нашли ее:
from person import Person
Таким образом, вы все еще можете сделать from myapp.models import Person