某些表类上的SQLAlchemy模块标记错误

2024-04-24 22:38:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的类,它访问一个表来存储运行时。 但是,当我尝试导入类时,出现以下错误。你知道吗

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()

测试.py

from RunTimes.RunTimes import RunTimes
rt = RunTimes("Store")

Tags: storefromimportselftruetimesqlalchemysession
1条回答
网友
1楼 · 发布于 2024-04-24 22:38:53

我也遇到了同样的问题,结果发现出现这个错误是因为我从Base继承的类与python文件和定义它的python包同名。 在这里,我可以从你的test.py看出情况也是如此。尝试为包、文件和类使用不同的名称。你知道吗

相关问题 更多 >