Python SQLAlchemy类型对象';日期';没有属性'_使用"调度"设置"父"';
我正在使用sqlalchemy和简单模型模式Python SQLAlchemy类型对象';日期';没有属性'_使用"调度"设置"父"';,python,sqlalchemy,Python,Sqlalchemy,我正在使用sqlalchemy和简单模型模式 class Mail(Base): __tablename__ = 'mail' id = Column(Integer, primary_key=True) date = Column(Date, nullable=False) 我犯了一个愚蠢的错误 AttributeError: type object 'Date' has no attribute '_set_parent_with_di
class Mail(Base):
__tablename__ = 'mail'
id = Column(Integer, primary_key=True)
date = Column(Date, nullable=False)
我犯了一个愚蠢的错误
AttributeError: type object 'Date' has no attribute '_set_parent_with_dispatch'
我尝试了sqlalchemy 1.0.6的最后一个版本,以及之前的版本,甚至是非常旧的版本0.7.x——到处都是相同的错误
此文件的第72行尝试使用
db.TIMESTAMP
或仅使用TIMESTAMP
在您的情况下虽然您的问题似乎没有此问题,但错误的参数顺序可能会导致类似的错误。检查列()
中变量的顺序。如果它们出现故障,则可能会出现此错误
希望有帮助。您需要导入一个日期包。
从sqlalchemy导入日期
没有人用上面的答案回答这个问题,所以我会的。当您无意中将一个SQLAlchemy模型映射器类命名为“Date”时,可能会发生此错误,这会导致与SQLAlchemy的Date类发生冲突。如果您的Date
anSQLAlchemy.Date
或文件中的某个其他定义/导入?@van,只有一个导入来自SQLAlchemy导入列,日期
在运行代码之前,请运行打印(日期)
并查看它是否生成类'sqlalchemy.sql.sqltypes.Date'>
?好的:
:-)当然!在此之前,我使用了一个«sqlacodegen»来生成模型代码。))其中一个表的名称为«日期»,在1500多行中的某个地方声明为class:class Date(Base):\uuuuu tablename\uuuu='Date'
结论:使用前缀命名表是一种良好的做法@范,谢谢你!否。其中一个表的名称为«日期»,在1500多行中的某个地方声明了class:class-Date(Base):tablename='Date'结论:使用前缀命名表是一种良好的做法。在此之前,我使用了«sqlacodegen»来生成模型代码。))其中一个表的名称为«日期»,在1500多行中的某个地方声明了class:class-Date(Base):tablename='Date'结论:使用前缀命名表是一种良好的做法