当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在pythonsqlalchemy中为动态名称的列设置值》经验,为你挑选了1个好方法。

我在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文档查看,我没有找到一种方法来设置a的值,Column当使用变量来识别Column.有人能指出我正确的方向吗?感谢您的帮助!



1> alecxe..:

你可以使用内置的setattr():

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

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有