mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #25127 -- Documented how to organize models in a package.
This commit is contained in:
		| @@ -1410,6 +1410,30 @@ different database tables). | ||||
| Django will raise a :exc:`~django.core.exceptions.FieldError` if you override | ||||
| any model field in any ancestor model. | ||||
|  | ||||
| Organizing models in a package | ||||
| ============================== | ||||
|  | ||||
| The :djadmin:`manage.py startapp <startapp>` command creates an application | ||||
| structure that includes a ``models.py`` file. If you have many models, | ||||
| organizing them in separate files may be useful. | ||||
|  | ||||
| To do so, create a ``models`` package. Remove ``models.py`` and create a | ||||
| ``myapp/models/`` directory with an ``__init__.py`` file and the files to | ||||
| store your models. You must import the models in the ``__init__.py`` file. | ||||
|  | ||||
| For example, if you had ``organic.py`` and ``synthetic.py`` in the ``models`` | ||||
| directory: | ||||
|  | ||||
| .. snippet:: | ||||
|     :filename: myapp/models/__init__.py | ||||
|  | ||||
|     from .organic import Person | ||||
|     from .synthetic import Robot | ||||
|  | ||||
| Explicitly importing each model rather than using ``from .models import *`` | ||||
| has the advantages of not cluttering the namespace, making code more readable, | ||||
| and keeping code analysis tools useful. | ||||
|  | ||||
| .. seealso:: | ||||
|  | ||||
|     :doc:`The Models Reference </ref/models/index>` | ||||
|   | ||||
		Reference in New Issue
	
	Block a user