Как установить значения атрибута по умолчанию в декларативном sqlalchemy?
В декларативном SQLAlchemy, как настроить значения по умолчанию для столбцов, чтобы временные или ожидающие экземпляры объектов имели эти значения по умолчанию? Краткий пример:
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class A(Base):
__tablename__ = "A"
id = Column(Integer, primary_key=True)
word = Column(String, default="adefault")
a = A()
print a.word
Наивно, я бы ожидал, что выход из этого будетadefault
, Конечно, выход на самом делеNone
, Даже при добавлении в сеанс он остаетсяNone
и заполняется только когда я фиксирую (или сбрасываю) сеанс и перечитываю значение экземпляра из базы данных.
Есть ли способ установить атрибут по умолчанию, не сбрасывая экземпляр в базу данных? Я пытался расследоватьColumnDefault
документация, и нетКажется, это очевидный способ проверить значение type / python, чтобы вручную установить его в пользовательском декларативном базовом классе.