Функция обновления или вставки SQLAlchemy - PullRequest
2 голосов
/ 02 сентября 2011

Новое в использовании SQLAlchemy и ORM в целом. У меня есть функция, которую я хотел бы вызвать для объекта, и в зависимости от того, был ли передан существующий идентификатор в функцию INSERT или ОБНОВЛЕНИЕ БД.

def storeFoo(self,session,FooObj=None,Fooid=None):
    if Fooid:
        Foo = session.query(ConfFoo).\
                    filter(ConfFoo.id == self.id).first()
        #Update Values
        Foo.name = self.name
        Foo.startdate = self.startdate
        Foo.enddate = self.enddate
        Foo.timeperiod = self.timeperiod
        Foo.users = self.users
        Foo.keywords = self.keywords
        Foo.type = self.type
        Foo.perms = self.perms
        session.add(Foo)

    else:
        Foo = ConfFoo(name = FooObj.name, startdate=FooObj.startdate,
                            enddate = FooObj.enddate, timeperiod = FooObj.timeperiod,
                            users = FooObj.users, keywords = FooObj.keywords,
                            type = FooObj.type, perms = FooObj.perms)
        session.add(Foo)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...