質問: Python, 呼び出し元のオブジェクトの取得方法 例えば、次のようなメソッド one_method を呼び出すとします。 obj_a.obj_b.obj_c.one_method() このとき メソッド one_method を定義する中で 呼び出し元の obj_a, obj_b を取得する方法があれば ご教示いただけないでしょうか? class C(): def one_method(self): # ここで obj_a, obj_b を取得する方法はありますか? ...
回答: 質問自体は__setattr__あたりを使って、obj_aにobj_bを持たせた時点で、obj_bにobj_aを持たせるとかになると思います。 ただ、コメントの補足の話だとちょっと違って、回答にあるように、そもそもとして多対一や多対多なのに一対一のようなアクセスをしようとするから発生する問題であって、一対一ならば一対一のしくみ を使えば解決する問題だと思います。 #djangoもこういうので__setattr__とか色々使ってた気がします。