私はDjangoビューを作成しています。データベースから、時には外部APIからデータを取得することがあります。Python:オブジェクトや辞書にどのようにアクセスできますか?
データベースから来た場合、これはDjangoモデルインスタンスです。属性はドット表記法でアクセスする必要があります。
APIから来るデータは辞書であり、添字表記でアクセスされます。
どちらの場合も、データに対して何らかの処理が行われます。
私はこれを行うにはよりエレガントな、DRYの道を見つけようとしている
if from_DB:
item.image_url='http://example.com/{0}'.format(item.image_id)
else:
item['image_url']='http://example.com/{0}'.format(item['image_id'])
を避けるためにしたいと思います。
辞書やオブジェクトのいずれかで動作するキーで取得/設定する方法はありますか?
ちょうどそのソースを見て、それは私の単純な 'AttrDict'(' KeyError'ではなく、 'AttributeError'を提供し、' __repr__'と '__delattr__'を提供し、再帰的変換メソッドを提供する) )。私はこれまでに自分自身を見つけたとは思っていません... "バンチ"はかなりわかりにくい名前のようです。 –
このクラスについて知ってくれてありがとう/本当に役に立ちました。 – JAL