检查SQLAlchemy列的属性?

时间:2012-05-15 00:42:19

标签: python sqlalchemy

我希望函数接受一个继承了SQLAlchemy的declarative_base的类,并根据其列的属性返回不同的结果。这里有一些代码来说明我的概念。

def my_func(sql_class):
    result = 0

    for col in sql_class.__table__.colomns:
         if col.type == INTEGER:
             if col.type.unsigned:
                 result += 5
             else:
                 result += 10
         else:
             result += 1

   return result

我遇到的问题是我不知道如何访问每列的属性。我知道有一个'.type'属性,但我不确定如何与它进行比较。即便如此,它也没有给我签名或签名等值。

感谢您的帮助,谢谢。

  • 使用MySQL(如果重要)
  • SQLAlchemy版本0.7.6
  • Python版本2.7.x

1 个答案:

答案 0 :(得分:2)

col.type是SQLAlchemy类型类的实例。有关SQLAlchemy支持的类型列表,请参阅http://docs.sqlalchemy.org/en/rel_0_7/core/types.html#generic-types