使用变量引用列名(SQLAlchemy ORM)

使用变量引用列名(SQLAlchemy ORM),sqlalchemy,Sqlalchemy,SQLAlchemy ORM允许: instance1 = Class1() instance1.foo = 'bar' 但是,我想做的是通过将列名“foo”作为变量传递给实例来引用它,类似于: column_name = 'foo' instance1[column_name] = 'bar' # or instance1.column(column_name) = 'bar' # or instance1.Column(column_name) = 'bar' instance1=C

SQLAlchemy ORM允许:

instance1 = Class1()
instance1.foo = 'bar'
但是,我想做的是通过将列名“foo”作为变量传递给实例来引用它,类似于:

column_name = 'foo'
instance1[column_name] = 'bar'  # or
instance1.column(column_name) = 'bar'  # or
instance1.Column(column_name) = 'bar'
instance1=Class1(foo='bar') # or
instance1=Class1('foo':'bar')
或者,也许做一些类似的事情:

column_name = 'foo'
instance1[column_name] = 'bar'  # or
instance1.column(column_name) = 'bar'  # or
instance1.Column(column_name) = 'bar'
instance1=Class1(foo='bar') # or
instance1=Class1('foo':'bar')
或:

或者简单地说:

instance1 = Class1(data_dictionary)
instance2 = Class2(data_dictionary)
谢谢你的帮助,
安德鲁

谢谢你,大学-以下作品:

dict = {'foo':'bar'}
instance = Class1(**dict)
你的另一个建议是:

setattr(instance, 'foo', 'bar')
1. <如果没有重写默认构造函数,代码>Class1(**dict)应该可以工作。2.您可以使用instance=Class1(**dict)进行操作,谢谢univerio。这是我想尝试的事情之一。。。对不起,浪费了你的时间!