mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #29192 -- Corrected docs regarding overriding fields from abstract base classes.
This commit is contained in:
		| @@ -897,9 +897,7 @@ information into a number of other models. You write your base class | ||||
| and put ``abstract=True`` in the :ref:`Meta <meta-options>` | ||||
| class. This model will then not be used to create any database | ||||
| table. Instead, when it is used as a base class for other models, its | ||||
| fields will be added to those of the child class. It is an error to | ||||
| have fields in the abstract base class with the same name as those in | ||||
| the child (and Django will raise an exception). | ||||
| fields will be added to those of the child class. | ||||
|  | ||||
| An example:: | ||||
|  | ||||
| @@ -920,6 +918,9 @@ The ``Student`` model will have three fields: ``name``, ``age`` and | ||||
| model, since it is an abstract base class. It does not generate a database | ||||
| table or have a manager, and cannot be instantiated or saved directly. | ||||
|  | ||||
| Fields inherited from abstract base classes can be overridden with another | ||||
| field or value, or be removed with ``None``. | ||||
|  | ||||
| For many uses, this type of model inheritance will be exactly what you want. | ||||
| It provides a way to factor out common information at the Python level, while | ||||
| still only creating one database table per child model at the database level. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user