溫馨提示×

sqlalchemy中Column的默認值屬性

小云
213
2023-08-22 14:10:41
欄目: 云計算

在SQLAlchemy中,Column的默認值可以通過在Column的構造函數中使用default參數來設置。default參數可以是一個值、一個函數或一個SQL表達式。

以下是一些常見的用法示例:

  1. 默認值為常量值:
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String, default='John')

在上面的示例中,name列的默認值設置為'John'。

  1. 默認值為函數的返回值:
from sqlalchemy import Column, Integer, func
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
created_at = Column(DateTime, default=func.now())

在上面的示例中,created_at列的默認值設置為當前時間。

  1. 默認值為SQL表達式:
from sqlalchemy import Column, Integer, text
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
active = Column(Integer, default=text('1'))

在上面的示例中,active列的默認值設置為SQL表達式1。

需要注意的是,默認值的計算是在數據庫層面上進行的,而不是在Python層面上進行的。因此,使用Python函數作為默認值時需要使用SQLAlchemy提供的函數(如func.now())來代替Python的內置函數(如datetime.now())。此外,還需要注意默認值函數或SQL表達式的返回類型必須與列的類型相匹配。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女