mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	[3.1.x] Fixed #31502 -- Documented Model._state.db and Model._state.adding
Backport of 697e59d5cf from master
			
			
This commit is contained in:
		| @@ -81,7 +81,7 @@ fields are present, then ``values`` are guaranteed to be in the order | |||||||
| to each of the missing fields. | to each of the missing fields. | ||||||
|  |  | ||||||
| In addition to creating the new model, the ``from_db()`` method must set the | In addition to creating the new model, the ``from_db()`` method must set the | ||||||
| ``adding`` and ``db`` flags in the new instance's ``_state`` attribute. | ``adding`` and ``db`` flags in the new instance's :attr:`~Model._state` attribute. | ||||||
|  |  | ||||||
| Below is an example showing how to record the initial values of fields that | Below is an example showing how to record the initial values of fields that | ||||||
| are loaded from the database:: | are loaded from the database:: | ||||||
| @@ -859,3 +859,21 @@ Other attributes | |||||||
|     class to identify the class of object that could not be found and to allow |     class to identify the class of object that could not be found and to allow | ||||||
|     you to catch a particular model class with ``try/except``. The exception is |     you to catch a particular model class with ``try/except``. The exception is | ||||||
|     a subclass of :exc:`django.core.exceptions.ObjectDoesNotExist`. |     a subclass of :exc:`django.core.exceptions.ObjectDoesNotExist`. | ||||||
|  |  | ||||||
|  | ``_state`` | ||||||
|  | ---------- | ||||||
|  |  | ||||||
|  | .. attribute:: Model._state | ||||||
|  |  | ||||||
|  |     The ``_state`` attribute refers to a ``ModelState`` object that tracks | ||||||
|  |     the lifecycle of the model instance. | ||||||
|  |  | ||||||
|  |     The ``ModelState`` object has two attributes: ``adding``, a flag which is | ||||||
|  |     ``True`` if the model has not been saved to the database yet, and ``db``, | ||||||
|  |     a string referring to the database alias the instance was loaded from or | ||||||
|  |     saved to. | ||||||
|  |  | ||||||
|  |     Newly instantiated instances have ``adding=True`` and ``db=None``, | ||||||
|  |     since they are yet to be saved. Instances fetched from a ``QuerySet`` | ||||||
|  |     will have ``adding=False`` and ``db`` set to the alias of the associated | ||||||
|  |     database. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user