1

我希望函数接受一个继承了 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
4

1 回答 1

2

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

于 2012-05-15T05:30:07.300 回答