def update(self, *args, **kwargs):
        '''
        Updates multiple attributes in a model. If ``args`` are provided, this
        method will assign attributes in the order returned by
        ``list(self._columns)`` until one or both are exhausted.

        If ``kwargs`` are provided, this method will assign attributes to the
        names provided, after ``args`` have been processed.
        '''
        sa = setattr
        for a, v in zip(self._columns, args):
            sa(self, a, v)
        for a, v in kwargs.items():
            sa(self, a, v)
        return self
Updates multiple attributes in a model. If ``args`` are provided, this
        method will assign attributes in the order returned by
        ``list(self._columns)`` until one or both are exhausted.

        If ``kwargs`` are provided, this method will assign attributes to the
        names provided, after ``args`` have been processed.