Postgres中'money'和'OID'的sqlalchemy等效列类型是什么?

时间:2008-12-11 13:52:21

标签: python postgresql sqlalchemy

Postgres中'money'和'OID'列类型的sqlalchemy等效列类型是什么?

3 个答案:

答案 0 :(得分:5)

来自link的论点 最后的结论是:

由于存储和算术的不精确性,将FLOAT用于货币金额是一个非常糟糕的主意。 不鼓励使用MONEY,因为它太区分敏感 应该使用NUMERIC代替

答案 1 :(得分:3)

我们从未有过具体的“OID”类型,尽管我们通过0.4系列支持每个表上的隐式“OID”列的概念,主要是为了postgres的好处。但是,由于在Postgres中不推荐使用用户表定义的OID列,并且我们实际上从未真正使用过现有的OID功能,因此我们已从库中删除了此功能。

如果SQLA中没有提供特定类型,作为指定自定义类型的替代方法,您可以始终使用NullType,这意味着SQLA对该类型没有任何特别的了解。如果psycopg2已经为列发送/接收有用的Python类型,那么除了发出CREATE TABLE语句之外,实际上并不需要SQLA类型对象。

答案 2 :(得分:0)

这就是我能找到的所有内容:http://docs.sqlalchemy.org/en/rel_0_9/core/types.html

如果您愿意,也可以制作自己的类型。