在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
文檔,並且似乎沒有被檢查的類型/ Python的價值,從而爲手動設置在一個自定義的聲明基類的明顯的方式。
另請參閱:https://stackoverflow.com/q/14002631/6646912 – krassowski