2011-06-30 12 views
1

挿入時にテーブル属性を含める方法を省略するにはどうすればよいですか?SQLAlchemy:INSERT列リストの属性を省略する

私は次のクラスがあります:INSERT文がなるように、私はTimestamp列を出したい

2011-06-30 22:37:26,953 INFO sqlalchemy.engine.base.Engine INSERT INTO [PPurchaseOrder] (code, [RisId], [CreatedBy], [CreateDate], [DateNeeded], [Timestamp]) OUTPUT inserted.[PurchaseOrderId] VALUES (?, ?, ?, ?, ?, ?) 
2011-06-30 22:37:26,953 INFO sqlalchemy.engine.base.Engine ('POF000872008', None, 'Marco', datetime.datetime(2008, 5, 27, 8, 47, 18), datetime.datetime(2008, 5, 28, 15, 48), None) 

class PurchaseOrder(Base): 
    __tablename__ = 'PPurchaseOrder' 
    id = Column('PurchaseOrderId', Integer, Sequence('transactions_id_seq'), primary_key = True) 
    code = Column(String(50)) 
    ris_id = Column('RisId', Integer, ForeignKey('BRIS.RisId')) 
    creator = Column('CreatedBy', String(256)) 
    created = Column('CreateDate', DateTime) 
    date_needed = Column('DateNeeded', DateTime) 
    timestamp = Column('Timestamp', TIMESTAMP) 

    supplier_items = AssociationProxy('purchase_order_items', 'supplier_item', creator='SupplierItem') 
    purchase_order_items = relationship('PurchaseOrderItem', cascade="all, delete, delete-orphan", 
      backref='purchase_order', lazy='joined') 

    def __init__(self, code, created, date_needed): 
     self.code = code 
     self.creator = 'Marco' 
     self.created = created 
     self.date_needed = date_needed 

オブジェクトを追加しようとすると、それは次のINSERT文を実行しを以下のようになります。

2011-06-30 22:37:26,953 INFO sqlalchemy.engine.base.Engine INSERT INTO [PPurchaseOrder] (code, [RisId], [CreatedBy], [CreateDate], [DateNeeded]) OUTPUT inserted.[PurchaseOrderId] VALUES (?, ?, ?, ?, ?, ?) 
2011-06-30 22:37:26,953 INFO sqlalchemy.engine.base.Engine ('POF000872008', None, 'Marco', datetime.datetime(2008, 5, 27, 8, 47, 18), datetime.datetime(2008, 5, 28, 15, 48)) 
+0

コードのタイムスタンプ列はどこですか? –

+0

それを忘れました。 :) –

答えて

1

IIRC、defaultまたはserver_default引数は、値の生成をサーバー側に移動します。 See here for more

+0

私はそれを 'default = text( 'DEFAULT')' –

関連する問題