2016-10-31 20 views
0

でインスタンスしまっているかを知ることを得ます。基本クラスはmongoに接続するdbクラスであり、派生クラスのそれぞれはコレクションオブジェクトを表します。私は基本クラスのコンストラクタにmongo接続を作成しています。その特定のインスタンスで扱うコレクションの名前を知る必要があります。派生クラスは、私はインスタンス化さてしまったその派生クラスのかを知る必要がある基底クラスのコンストラクタで基底クラスのコンストラクタ

答えて

1

より堅牢な方法は、単にベースのコンストラクタに引数を渡すことであろう。そうすれば、サブクラスまたはその名前との結合はありません。そして、あなたは、基本クラスで機能性を壊すことなくでもサブクラスのサブクラスができます:あなたが把握して、あなたはそれでやりたいことができるように、selfとして渡されたオブジェクトが、すでに適切なインスタンスよりも

class BaseModel: 
    def __init__ (self, collectionName): 
     self.connection = createConnection(collectionName) 

class MyModel (BaseModel): 
    def __init__ (self): 
     super().__init__('MyModel') 

その他のですそのタイプ。

関連する問題