我正在使用 sqlalchemy 存储文件路径。目前这些存储为绝对路径,但我需要将它们存储为相对路径。但是,我不想每次需要时都手动将路径与基目录连接起来,而是应该在它们映射到对象之前自动完成。这样,每当我查询数据库时,我都会得到一个绝对路径,即使它们是相对存储的。我该怎么做?映射器配置?
问问题
81 次
1 回答
3
一种可能的解决方案 - 将方法添加到映射类中,将相对路径转换为绝对路径。此方法需要知道根目录路径 - 可以由全局范围变量定义。
global_base_path = "/home/user"
...
class Path(Base):
...
relative_path = Column(String(2048))
...
@property
def absolute_path(self):
return os.path.join(global_base_path,self.relative_path)
q = session.query(Path)
c = q.first()
print c.absolute_path
于 2013-01-23T16:55:21.137 回答