私はCATEGORY_IDは、MySQLデータベース内の私のテーブル名です。ここソートへのアクセスSQLAlchemyの表の列名は
{'category_id': 'women_shoes', 'product_id': 486778462L}
の辞書を持っています。私はテーブルwomen_shoesから指定されたproduct_idを取得しようとしています。私はこのコード物事が正常に動作し、ここでティルアップ
class_name = globals()[each_itemset["category_id"].capitalize()]
table_values = session.query(class_name).filter(class_name.product_id == each_itemset["product_id"])
for each in table_values:
print each.brand_name
name = "brand_name"
を介してこれを達成することができていると私は、製品のBRAND_NAMEを取得することができています。私が欲しいのは代わりのステートメントに
print each.brand_name
を与える私は、正確なテーブル名を自分で指定する必要はありませんので、
name = "brand_name"
print each.name
をしたいということです。 class_nameからテーブルのカラム名を取得したい。 テーブル .columns.keys()を繰り返し、各カラム名を取得して1つずつ名前に渡します。
私はこの
Traceback (most recent call last):
File "main_site.py", line 14, in <module>
json_data = db_access.get_styles_from_db("work")
File "C:\Python27\Projects\Clothe Studio Recommendation Project\util\db_access.py", line 149, in get_styles_from_db
calc_outfit_scores(outfit_dict, session)
File "C:\Python27\Projects\Clothe Studio Recommendation Project\util\db_access.py", line 192, in calc_outfit_scores
print each.name
AttributeError: 'Women_shoes' object has no attribute 'name'
を行うときに、私は次のエラーを取得する私は、SQLAlchemyのドキュメントを通じて検索およびSOが、答えを見つけるように見えることはありませんしています。このシナリオで何をすべきか?あなたの助けに感謝します。
質問を明確に伝えるために、質問を投稿する前に確認してください。たとえば、 'each_itemset'はどこで定義されましたか? 'each_itemset'はあなたが上で定義したdictだと推測できますが、これをちょうどよく見直して提出するためのヒントにしてください。あなたもより良い反応を得るでしょう! – Amir
私は実際に目標が何であるかはわかりませんが、あなたの主張する声明はちょっと奇妙です。変数に静的な文字列を割り当て、存在しない属性にアクセスしようとします。しかし、もしあなたがオブジェクト辞書を見ようとしているのであれば、組み込みのpythonを使って 'each .__ dict__'と同じくらい単純なことができます。 'name = each.brand_name'を割り当てて、' each.name'の代わりに 'name'を使うだけです。 – Busturdust
あなたの提案に感謝Amir。私はこれを念頭に置いておきます。 – Falconic