【发布时间】:2015-07-15 00:25:55
【问题描述】:
这是我需要的查询:
SELECT * FROM SCHEMA.LOT
使用以下 Python 代码
class Lot(db.Entity):
_table_ = 'SCHEMA.LOT'
lot_key = PrimaryKey(int)
lot_id = Required(str)
这是 Pony ORM 生成的查询:
SELECT "l"."LOT_KEY", "l"."LOT_ID"
FROM "SCHEMA.LOT" "l"
ORA-00942: table or view does not exist 自然会出错,因为 Oracle 认为 SCHEMA.LOT 是完整的表名。我真正需要的是 Pony ORM 生成模式和表名的组合,表名由不属于字符串的点分隔。所以以下任何一个都可以工作:
"SCHEMA"."LOT"
"SCHEMA".LOT
SCHEMA."LOT"
我试图通过将_table_ 定义为'SCHEMA"."LOT' 来欺骗Pony ORM,但它只是自动将其转换为损坏的"SCHEMA"".""LOT"。真气!
有没有办法解决这个问题?
【问题讨论】: