'new([values]) -> record
Return a new record instance attached to the current environment and
initialized with the provided ``value``. The record is *not* created
in database, it only exists in memory.'

@api.model
def new(self, values={}):

    record = self.browse([NewId()])
    record._cache.update(record._convert_to_cache(values, update=True))
    if record.env.in_onchange:
        for name in values:
            field = self._fields.get(name)
            if field:
                for invf in self._field_inverses[field]:
                    invf._update(record[name], record)
    return record
