0

データベースとしてpostgresqlを使用してwxpythonを使用して構築しているアプリケーションがあります。GUIからデータベースにデータを送信するための正しいアプローチはわかりませんが、GUI(txtctrl)出力を辞書に保存し、postgresqlに送信しようとしています。私の質問は、辞書キーがcolumn_fieldsとして機能し、dictionary-valuesが値として機能するsqlalchemyを使用してデータベースにデータを送信する方法はありますか?GUIとデータベース間のデータ通信を行うためのより洗練された方法はありますか?

4

1 に答える 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 に答える