2012-05-01 13 views

答えて

0

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年以内に&にいる可能性が高いでしょう。

関連する問題