Объектное значение по умолчанию в декларативном SQLAlchemy

С помощью SQLAlchemy можно добавить значение по умолчанию для каждой функции. Насколько я понимаю, это также может быть callable (либо без каких-либо аргументов, либо с необязательным аргументом ExecutionContext).

Теперь в декларативном сценарии мне интересно, возможно ли как-то иметь функцию по умолчанию, которая вызывается с объектом, который сохраняется. т.е. возможно так:

Base = sqlalchemy.ext.declarative.declarative_base()
class BaseEntity(Base):
    value = Column('value', String(40), default=BaseEntity.gen_default)

    def gen_default(self):
        # do something with self, for example
        # generate a default value using some other data
        # attached to the object
        return self.default_value

Возможно ли что-то подобное? Или мне нужно как-то настроить хук перед вставкойдля этого (как?)?

5
задан Debilski 15 May 2012 в 11:02
поделиться