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 に答える