sqlalchemyでpostgreSQLのtimestampを自動更新したく、いろいろとHPを検索してみたのですが、私の理解が悪く上手くいきません。
以下のようなmysqlの記載は見つけましたが、以下のような点がわかりません。
①__table_args__はどのように変更すればよいか
②このクラスをどこで宣言すればいいのか
③saって何でしょうか・・・
④timeも更新したいのですが、同じように処理できますでしょうか?
いつも初心者的な質問で申し訳ないのですが、どなたかご教示いただけないでしょうか。
python
1class BaseMixin(object): 2 3 __table_args__ = {'mysql_engine': 'InnoDB'} 4 5 id = sa.Column(sa.Integer, primary_key=True) 6 created_at = sa.Column('created_at', sa.DateTime, nullable=False) 7 updated_at = sa.Column('updated_at', sa.DateTime, nullable=False) 8 9 @staticmethod 10 def create_time(mapper, connection, instance): 11 now = datetime.datetime.utcnow() 12 instance.created_at = now 13 instance.updated_at = now 14 15 @staticmethod 16 def update_time(mapper, connection, instance): 17 now = datetime.datetime.utcnow() 18 instance.updated_at = now 19 20 @classmethod 21 def register(cls): 22 sa.event.listen(cls, 'before_insert', cls.create_time) 23 sa.event.listen(cls, 'before_update', cls.update_time)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。