(self, tablename, rows, **fields)
return results
Does changes to list of detail rows
            Used for normal foreign keys in master detail relationships
            Dows first deletes then updates and then inserts to avoid uniqueness problems
Does changes to list of detail rows
            Used for normal foreign keys in master detail relationships
            Dows first deletes then updates and then inserts to avoid uniqueness problems
Does changes to list of detail rows Used for normal foreign keys in master detail relationships Dows first deletes then updates and then inserts to avoid uniqueness problems
def tapi_do_set(self, tablename, rows, **fields):
        """ Does changes to list of detail rows
            Used for normal foreign keys in master detail relationships
            Dows first deletes then updates and then inserts to avoid uniqueness problems
        """
        tapi = TableAPI(self, tablename, self._changelog(fields))
        results, updates, inserts = [], [], []
        for row in rows:
            fields and row.update(fields)
            if row[self.OP] == self.DELETE:
                results.append( tapi.do( row ) )
            elif row[self.OP] == self.UPDATE:
                updates.append( row )
            else:
                inserts.append( row )
        for row in updates:
            results.append( tapi.do( row ) )
        for row in inserts:
            results.append( tapi.do( row ) )
        return results
def tapi_do_set ( self , tablename , rows , * * fields ) : tapi = TableAPI ( self , tablename , self . _changelog ( fields ) ) results , updates , inserts = [ ] , [ ] , [ ] for row in rows : fields and row . update ( fields ) if row [ self . OP ] == self . DELETE : results . append ( tapi . do ( row ) ) elif row [ self . OP ] == self . UPDATE : updates . append ( row ) else : inserts . append ( row ) for row in updates : results . append ( tapi . do ( row ) ) for row in inserts : results . append ( tapi . do ( row ) ) return results