我有一个简单的类,用于访问用于存储运行时间的表。 但是,当我尝试导入该类时,出现以下错误。
AttributeError: '_ModuleMarker' object has no attribute 'add_item'
我已经能够确定与设置表名和列有关,因为我还有另外两个访问两个不同表的类,并且在那里工作正常。 我基本上是从2个原始类中复制粘贴的代码,所以我不确定为什么它不起作用。
有没有办法产生更有用的错误代码?
运行时间类
from sqlalchemy import Column
from sqlalchemy import String
from sqlalchemy import TIMESTAMP
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
engine = create_engine('postgresql+psycopg2://postgres@localhost/reseller', encoding='utf-8', pool_size=50, max_overflow=200)
session = sessionmaker(bind=engine)()
Base = declarative_base()
class RunTimes(Base):
__tablename__ = 'run_times'
store = Column(String, primary_key=True, index=True, unique=True)
start_time = Column(TIMESTAMP)
end_time = Column(TIMESTAMP)
def __init__(self, store):
self.store = store
results = session.query(RunTimes).filter(RunTimes.store.like(store)).first()
self.start_time = results.start_time
self.end_time = results.end_time
def Update(self):
session.merge(self)
session.commit()
test.py
from RunTimes.RunTimes import RunTimes
rt = RunTimes("Store")
答案 0 :(得分:1)
我遇到了同样的问题,结果是出现了此错误,因为从Base
继承的类与python文件和定义了python包的名称相同。
从您的 test.py
可以看到,情况也是这样。尝试为包,文件和类使用不同的名称。