я следующий класс SQLAlchemy определены:SQLAlchemy - значения маски в объекты на лету
Base = sqlalchemy.ext.declarative.declarative_base()
class NSASecrets(Base):
__tablename__ = 'nsasecrets';
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True);
text = sqlalchemy.Column(sqlalchemy.String);
author = sqlalchemy.Column(sqlalchemy.String);
Теперь то, что я хочу сделать, это быть в состоянии «автора» поле маски в зависимости от некоторой логики, что-то вроде :
if (allowed):
nsasecrets = session.query(NSASecrets,**mask=False**);
else:
nsasecrets = session.query(NSASecrets,**mask=True**);
for nsasecret in nsasecrets:
print '{0} {1}'.format(author, text);
Поэтому в зависимости от этого параметра «маска» Я хотел бы вывод, что «Джон Смит» в ложном случае - выход не маскируется, или «J *** * * ч», когда выход маскируется , Теперь, очевидно, я мог бы сделать это в этой самой печати, но проблема в том, что отпечатки разбросаны по всему коду, и единственный способ сделать это контролируемым централизованным образом - создать объекты SQLAlchemy с уже замаскированными значениями. Итак, есть ли хорошо известное решение этого? Или я должен просто создать свой собственный диспетчер сеансов, который перегрузит интерфейс «запроса», или я пропустил некоторые другие возможные решения?
Благодаря
'nsasecret.author' и' nsasecret.text' должно быть. В 'format' –
и это только атрибут' author'? –