【问题标题】:SQLAlchemy Custom PropertiesSQLAlchemy 自定义属性
【发布时间】:2011-08-06 01:18:51
【问题描述】:

我有一个名为“Projects”的表,其中有一个映射列“project”。我想要做的是在我的映射类上定义我自己的属性,称为“项目”,在返回之前对项目值进行一些操作。当我尝试引用行值时,这当然会创建一个无限循环。所以我的问题是是否有办法设置我的表映射器以使用项目列的别名,也许是_project。有什么简单的方法吗?

最后我自己解决了。您可以在调用 orm.mapper 时指定一个替代名称:

orm.mapper(MappedClass, table, properties={'_project': table.c.project})

【问题讨论】:

    标签: python sql properties sqlalchemy


    【解决方案1】:

    你检查过Sqlalchemy的同义词功能

    http://www.sqlalchemy.org/docs/05/reference/ext/declarative.html#defining-synonyms http://www.sqlalchemy.org/docs/05/mappers.html#synonyms

    ?

    我经常使用它来为属性提供适当的 setter/getter 公共 API 具有相当复杂的底层数据结构,或者在需要额外功能/验证或其他任何需要的情况下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-08
      • 2010-11-05
      • 2011-03-27
      • 2012-12-14
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多