'executes a delete query to remove columns that have changed to null'

def _delete_null_columns(self, conditionals=None):

    ds = DeleteStatement(self.column_family_name, conditionals=conditionals, if_exists=self._if_exists)
    deleted_fields = False
    static_only = True
    for (_, v) in self.instance._values.items():
        col = v.column
        if v.deleted:
            ds.add_field(col.db_field_name)
            deleted_fields = True
            static_only &= col.static
        elif isinstance(col, columns.Map):
            uc = MapDeleteClause(col.db_field_name, v.value, v.previous_value)
            if (uc.get_context_size() > 0):
                ds.add_field(uc)
                deleted_fields = True
                static_only |= col.static
    if deleted_fields:
        keys = (self.model._partition_keys if static_only else self.model._primary_keys)
        for (name, col) in keys.items():
            ds.add_where(col, EqualsOperator(), getattr(self.instance, name))
        self._execute(ds)
