'Update the cache of all records in ``records``. If the argument is a
``SpecialValue``, update all fields (except "magic" columns).'

def update(self, *args, **kwargs):

    if (args and isinstance(args[0], SpecialValue)):
        values = dict.fromkeys(self._recs._ids, args[0])
        for (name, field) in self._recs._fields.iteritems():
            if (name != 'id'):
                self._recs.env.cache[field].update(values)
    else:
        return super(RecordCache, self).update(*args, **kwargs)
