Python SQLAchemy在MySQL中以微秒精度存储datetime

Python SQLAchemy在MySQL中以微秒精度存储datetime,python,mysql,sql,orm,sqlalchemy,Python,Mysql,Sql,Orm,Sqlalchemy,我正在尝试在MySQL中以微秒的精度存储日期时间作为时间戳:2020-05-10 16:00:00.666666 这是我的模型: class Order(Base): __tablename__ = "order" order_id = Column("id", String(50), primary_key=True) published_at = Column( "published_at", TIMEST

我正在尝试在MySQL中以微秒的精度存储日期时间作为时间戳:
2020-05-10 16:00:00.666666

这是我的模型:

class Order(Base):
  __tablename__ = "order"

  order_id = Column("id", String(50), primary_key=True)
  published_at = Column(
      "published_at", TIMESTAMP, nullable=True
  )
以下是我的insert语句(在会话中完成):

使用SQLLite我得到了我所期望的。然而,当使用MySQL时,我松开了小数第二部分,得到了
2020-05-10 15:00:00
。有没有办法解决这个问题


提前感谢

时间戳已像从sqlalchemy导入时间戳一样导入,但是这不允许您访问fsp参数,因此您必须使用sql特定方言:
从sqlalchemy.dialogs.mysql导入时间戳
。然后您可以在模型中使用
时间戳(fsp=6)
。Ref

必须明确指定小数部分的长度,即数据类型必须是
时间戳(6)
,而不是单个
时间戳。请参阅文档,了解如何在SQLAchemy中执行此操作。我在文档中找不到引用的内容?需要SQL特定方言吗
order = Order(
            order_id=id,
            published_at=published_at,  #python datetime of format: 2020-05-10 15:00:00.555555+00:00
        )
session.add(order)
session.commit()