Ответ 1
Из исходного кода Django _ state является переменной экземпляра, определенной в каждом экземпляре модели, который является экземпляром ModelState
, который определяется как:
class ModelState(object):
"""
A class for storing instance state
"""
def __init__(self, db=None):
self.db = db
# If true, uniqueness validation checks will consider this a new, as-yet-unsaved object.
# Necessary for correct validation of new instances of objects with explicit (non-auto) PKs.
# This impacts validation only; it has no effect on the actual save.
self.adding = True
Итак, в основном эта переменная экземпляра используется для того, чтобы знать, был ли экземпляр Model
уже записан в db
(зная, что Django поддерживает несколько db-серверов) и для хранения используемого db
атрибута переменной экземпляра adding
устанавливается в false после сохранения экземпляра модели, и в основном используется (как комментарий в коде выше) для проверки, если первичные ключи уникальны.