我有一个使用 wxpython 和 postgresql 作为我的数据库构建的应用程序。我不知道将数据从 GUI 发送到数据库的正确方法是什么,但我正在做的是将 GUI(txtctrl) 输出存储在字典中并尝试将其发送到 postgresql。我的问题是:有什么方法可以使用 sqlalchemy 将数据发送到数据库,其中字典键充当 column_fields,字典值充当其值。是否有更优雅的方式来进行 GUI 和数据库之间的数据通信?
问问题
438 次
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.Validator
s 用于表单并将数据存储在字典中,这非常实用。
于 2012-04-25T17:00:43.310 回答