在回调函数中实例化SQLAlchemy类

2024-09-30 02:33:02 发布

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

我是SQLAlchemy和Python的新手,正在尝试在Tkinter按钮回调中实例化SQLAlchemy对象。代码如下:

class Test(Base):
    __tablename__ = "Tests"
    id = Column(Integer, primary_key = True)
    TestName = Column(String)

    def __init__(self, TestName):
       self.TestName = TestName

SaveTestButton = Button(master, text="Save to database", command=saveTest, fg="green",  bg="white", font="Helvetica 10 bold")

NewTestEntry = Entry(master, text="", width = 100)

def saveTest():
    NewTestName = NewTestEntry.get()
    T = Test(NewTestName)
    session.add(T)
    session.commit() 

我收到以下错误:

^{pr2}$

它似乎无法识别回调中的sqlalchemy“Test”类。我试着从tk外部调用saveTest函数来实例化一个测试类,它起作用了。我还实例化了回调中的其他类(不是基于sqlalchemy的),所以它不起作用似乎很奇怪。一定有办法。。。如有任何意见,将不胜感激。 -丹尼尔W


Tags: 实例texttestselfmastersqlalchemysessiondef

热门问题