SQLAlchemy を使用すると、すべての関数にデフォルト値を追加できます。私が理解しているように、これは呼び出し可能でもあります(引数なし、またはオプションの 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
このようなことは可能ですか?または、これのために挿入前のフックを何らかの方法で設定する必要がありますか (どのように?)?