0

我有一个使用 wxpython 和 postgresql 作为我的数据库构建的应用程序。我不知道将数据从 GUI 发送到数据库的正确方法是什么,但我正在做的是将 GUI(txtctrl) 输出存储在字典中并尝试将其发送到 postgresql。我的问题是:有什么方法可以使用 sqlalchemy 将数据发送到数据库,其中字典键充当 column_fields,字典值充当其值。是否有更优雅的方式来进行 GUI 和数据库之间的数据通信?

4

1 回答 1

1

假设您declaratives在 sqlalchemy 中使用,并且您的对象名称是 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.Validators 用于表单并将数据存储在字典中,这非常实用。

于 2012-04-25T17:00:43.310 回答