1

这里总新手。尝试使用 sqlalchemy 但遇到了问题。

class Establishment(Base):
__tablename__ = 'establishments'

estaID = Column(String(5), primary_key=True)
typeID = Column(String(2), ForeignKey('types.typeID'))

type = relationship("Type", backref=backref('estabs', order_by=estaID))

def __init__(self, id):
    self.estaID = id

    try:
        session = Session()

        existsEsta = session.query(Establishment).filter(Establishment.estaID == self.estaID).one()
        session.close()

        self.typeID = existsEsta.typeID

    except NoResultFound, e:
        session = Session()

        print "Establishment: ", self.estaID, "does not yet exist."
        type = Type(raw_input("Please enter type: "))

        self.typeID = type.gettypeID()

        print "Adding establishment", self.estaID, self.typeID

        session.add(self)

        session.commit

出于某种原因, session.add(self) 没有将记录添加到数据库中。我很难弄清楚发生了什么,因为这个“建立”类是在另一个类(相同的算法,不同的变量名)之后建模的,它工作得很好。

关于我在哪里出错的想法?

提前致谢。

4

1 回答 1

0

尝试session.commit()代替session.commit.

于 2012-11-27T20:44:17.670 回答