プログラミングの質問でなくて申し訳ありませんが、クラス オブジェクトをイントロスペクトしようとしたときに、これが私の目に留まりました。
私はこれを見つけました
{'user_id': 1, '_state': <django.db.models.base.ModelState object at 0x10ac2a750>, 'id': 2, 'playlist_id': 8}
の役割とは_state
何ModelState
ですか?
プログラミングの質問でなくて申し訳ありませんが、クラス オブジェクトをイントロスペクトしようとしたときに、これが私の目に留まりました。
私はこれを見つけました
{'user_id': 1, '_state': <django.db.models.base.ModelState object at 0x10ac2a750>, 'id': 2, 'playlist_id': 8}
の役割とは_state
何ModelState
ですか?
Django ソース コードから、_stateは各 Model インスタンスで定義されたインスタンス変数であり、次のように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 に設定され、ほとんど使用されます。 (上記のコードのコメントとして)主キーが一意であるかどうかを検証するため。