'If ``key`` is an integer or a slice, return the corresponding record
selection as an instance (attached to ``self.env``).
Otherwise read the field ``key`` of the first record in ``self``.
Examples::
inst = model.search(dom)    # inst is a recordset
r4 = inst[3]                # fourth record in inst
rs = inst[10:20]            # subset of inst
nm = rs[\'name\']             # name of first record in inst'

def __getitem__(self, key):

    if isinstance(key, basestring):
        return self._fields[key].__get__(self, type(self))
    elif isinstance(key, slice):
        return self._browse(self._ids[key], self.env)
    else:
        return self._browse((self._ids[key],), self.env)
