1

Id を取り込んで変数 current_account を更新しようとしているクラスがありますが、current_account の詳細を出力しても更新されていません。

誰でもこれについて何かアイデアがありますか?pythonが初めてなので、私には見えない愚かなことをしている可能性があります。

class UserData:
    def __init__(self, db_conn=None):
        if None == db_conn:
            raise Exception("DB Connection Required.")

        self.db = db_conn
        self.set_my_account()
        self.set_accounts()
        self.set_current_account()

    def set_current_account(self, account_id=None):
        print account_id
        if None == account_id:
            self.current_account = self.my_account
        else:
            if len(self.accounts) > 0:
                for account in self.accounts:
                    if account['_id'] == account_id:
                        self.current_account = account
                        print self.current_account['_id']
            else:
                raise Exception("No accounts available.")

set_my_account()アカウント データのディクショナリを取得し、アカウント データのディクショナリのリストを取得するとしますset_accounts()

したがって、次のことを行うと:

user_data = UserData(db_conn=db_conn)
user_data.set_current_account(account_id=account_id)

は有効db_connなデータベース接続で、account_idは有効なアカウント ID です。

上記の2行から次のようになります。

None
518a310356c02c0756764b4e
512754cfc1f3d16c25c350b7

したがって、None値はクラスの宣言からのもので、次の 2 つは への呼び出しからのものset_current_account()です。最初のid値は、私が設定しようとしているものです。2 番目のid値は、クラス__init__()メソッドから既に設定されているものです。

4

2 に答える 2