「直接」とは何かがわかりません。何が_meta.get_field_by_name(django)の意味ですか
私は_meta.get_field_by_nameに関するいくつかのGoogleの調査をした、と Given a QS field lookup key, how to find fields type across joins?
が見つかりましたが、「ORMのルックアップは、」ジャンゴで何を意味するのでしょうか?
「直接」とは何かがわかりません。何が_meta.get_field_by_name(django)の意味ですか
私は_meta.get_field_by_nameに関するいくつかのGoogleの調査をした、と Given a QS field lookup key, how to find fields type across joins?
が見つかりましたが、「ORMのルックアップは、」ジャンゴで何を意味するのでしょうか?
django.db.models.options
でジャンゴOptions
オブジェクト上_name_map
属性の集団から、それはあなたが使用しているフィールド名があなたのModel
で宣言されたフィールドや設定related name
から作成された名前であるかどうかに結び付けられているように、それが見えます。私は、関連する名前のものに慣れていないんだ怖いが、コードは次のようになります。
for f, model in self.get_all_related_m2m_objects_with_model():
cache[f.field.related_query_name()] = (f, model, False, True)
for f, model in self.get_all_related_objects_with_model():
cache[f.field.related_query_name()] = (f, model, False, False)
for f, model in self.get_m2m_with_model():
cache[f.name] = (f, model, True, True)
for f, model in self.get_fields_with_model():
cache[f.name] = (f, model, True, False)
for f in self.virtual_fields:
if hasattr(f, 'related'):
cache[f.name] = (f.related, None if f.model == self.model else f.model, True, False)
だからあなただけのforループ最初の2を参照してくださいFalse
としてdirect
を持つエントリでキャッシュを読み込むことができます彼らはrelated_query_name
を使用します。たぶん誰か他の人がそれにもっと光を当てるかもしれないし、あなたが尋ねてから2年以内に&にいる可能性が高いでしょう。