获取类python的属性名/获取查询的列名

时间:2013-05-02 13:33:16

标签: python sqlalchemy

我想拥有sqlalchemy查询的列名 但我不知道怎么做到这一点。

我尝试了几种方法

我尝试过的第一种方法是创建一个新类,因为名称必须与列名不同

class DosierWeergave():
    def __init__(self, code_arg, year_registr, period_registr, staynum, status):
        self.Code_Arg = str(code_arg)
        self.Year_registr = str(year_registr)
        self.Period_registr = str(period_registr)
        self.Staynum = str(staynum)
        self.Status = str(status)

然后我制作了一个

的对象
a = DosierWeergave(187,2010,4,"0000010000", "inbehandeling")

我得到了正确的名字,但没有按正确的顺序排列。 有没有人知道如何以正确的顺序获得列名(类属性)。

另一种方法是使用函数:columns.keys()

HeaderDosiers = Dosiers2.__table__.columns.keys()

但是我得到了所有列标题,但我找不到如何过滤它们 有任何人知道我如何解决这个问题或有任何人有更好的方法来做到这一点

1 个答案:

答案 0 :(得分:1)

您想对列名做什么;如果要打印它们,请创建 str 功能:

def __str__(self):
    str  = 'Code Arg', self._code_arg
    str += 'Year_registr', self.Year_registr
    ...

    return str

我不建议使用反射。