コード例 #1
0
ファイル: DBObject.py プロジェクト: benadida/sessionlock
    def delete(self):
        """
        Delete an object
        """
        sql = "delete from " + self.TABLE_NAME
        sql += " where " + self.PRIMARY_KEY + " = %(pkval)s"

        pkval = self.__dict__[self.PRIMARY_KEY]
        DB.perform(sql)
コード例 #2
0
ファイル: DBObject.py プロジェクト: benadida/sessionlock
    def insert(self, generate_new_pkey= True):
        """
        Insert a new object, but only if it hasn't been inserted yet
        """
        if generate_new_pkey:
            if self.PRIMARY_KEY in self.__dict__:
                if self.__dict__[self.PRIMARY_KEY] != None:
                    raise Exception('primary key already set')

        sql = "insert into " + self.TABLE_NAME
        sql += "(" + self.all_fields_sql(with_table_prefix=False) + ") "

        if generate_new_pkey:
            self.__dict__[self.PRIMARY_KEY] = int(DB.oneval("select nextval('" + self.SEQ_NAME + "')"))

        sql += "values (" + ",".join([self._sql_insert_value(f) for f in self.FIELDS]) + ")"

        DB.perform(sql, extra_vars = self._prepare_sql_values())
コード例 #3
0
ファイル: DBObject.py プロジェクト: benadida/sessionlock
    def update(self):
        """
        Update an object
        """
        sql = "update " + self.TABLE_NAME
        sql += " set "

        field_statements = []
        for field in self.FIELDS:
            try:
                if field == self.PRIMARY_KEY: continue
            except:
                continue
            field_statements.append(field + " = " + self._sql_insert_value(field))

        sql += ",".join(field_statements)

        sql += " where " + self.PRIMARY_KEY + " = %(" + self.PRIMARY_KEY + ")s"

        DB.perform(sql, extra_vars = self._prepare_sql_values())