データベースとしてpostgresqlを使用してwxpythonを使用して構築しているアプリケーションがあります。GUIからデータベースにデータを送信するための正しいアプローチはわかりませんが、GUI(txtctrl)出力を辞書に保存し、postgresqlに送信しようとしています。私の質問は、辞書キーがcolumn_fieldsとして機能し、dictionary-valuesが値として機能するsqlalchemyを使用してデータベースにデータを送信する方法はありますか?GUIとデータベース間のデータ通信を行うためのより洗練された方法はありますか?
質問する
438 次
1 に答える
1
sqlalchemyで使用declaratives
していて、オブジェクト名がObjectであるとすると、次を使用できます。
# I suppose you already have your session somehow...
# If you want to add it to the database
# Assuming you did not change the __init__ method
obj = Object(**data_dictionary_with_keys_matching_column_names)
session.add(obj)
# If you want to issue an update
# obj is already there somehow...
for k, v in data_dictionary_with_keys_matching_column_names.iterkeys():
setattr(obj, k, v)
session.commit()
これは、ORMと宣言型を使用している場合のみです。(sqlalchemyについておっしゃっていたので、postgresqlでも別のものでも変わらないと思います)
編集:あなたは正しいアプローチを取っていると思いますwx.Validator
。フォームにsを使用し、データを辞書に保存することを確認してください。これは非常に実用的です。
于 2012-04-25T17:00:43.310 に答える