在python sqlalchemy中为动态名称的列设置值

时间:2016-01-02 06:17:12

标签: python sqlalchemy

我在Python sqlalchemy中有以下定义的表:

class entry(Base):
    summary = Column(String(10000))
    content = Column(String(10000))
    description = Column(String(10000))

我基本上想要做以下事情:

a = entry()
for col in ['summary', 'content', 'description']:
    a[col] = get_value(col)

但是我收到了以下错误:

TypeError: 'entry' object has no attribute '__getitem__'

所以我想我不能将a视为dict。通过sqlalchemy文档查看,在使用变量识别Column时,我没有找到设置Column值的方法。有人能指出我正确的方向吗?谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

您可以使用内置的setattr()

a = entry()
for col in ['summary', 'content', 'description']:
    setattr(a, col, get_value(col))