Пользовательские свойства SQLAlchemy - PullRequest
3 голосов
/ 15 апреля 2011

У меня есть таблица «Проекты», в которой есть сопоставленный столбец «Проект».То, что я хочу сделать, это определить мое собственное свойство в моем сопоставленном классе, называемом «проект», который выполняет некоторые манипуляции со значением проекта перед его возвратом.Это, конечно, создаст бесконечный цикл, когда я попытаюсь сослаться на значение строки.Поэтому мой вопрос заключается в том, есть ли способ настроить средство отображения таблиц на использование псевдонима для столбца проекта, возможно, _project.Есть ли какой-нибудь простой способ сделать это?

В конце концов, я сам все решил.Вы можете указать альтернативное имя при вызове orm.mapper:

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

1 Ответ

2 голосов
/ 15 апреля 2011

Проверяли ли вы синонимы функцию Sqlalchemy

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

Я использую это довольно часто, чтобы обеспечить надлежащий публичный API для установщика / получателя для свойств с довольно сложной базовой структурой данных или в случае, когда требуется дополнительная функциональность / проверка или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...