在回调函数中实例化SQLAlchemy类

时间:2013-10-10 06:10:13

标签: python tkinter sqlalchemy tk pysqlite

我是SQLAlchemy和Python的新手,我试图在Tkinter Button回调中实例化一个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() 

我收到以下错误:

T = Test("NewTestName")

TypeError: 'NoneType' object is not callable

似乎无法识别回调中的sqlalchemy“Test”类。我试过从tk外部调用saveTest函数来实例化一个Test类,它可以工作。我还在回调中实例化了其他类(不是基于sqlalchemy的),所以它似乎很奇怪它不会工作。必须有办法做到这一点...任何评论将不胜感激。 -Daniel W。

0 个答案:

没有答案