'Use a predefined list of keys (the string `view`) and any additional keys
listed in `keys`.
The combinations can be:
`view` only: return those keys listed in the named view
`keys` only: return those keys listed
no `view` or `keys`: use the `default_view` if any
`view` and `keys`: combine both into one list of keys'

def serialize_to_view(self, item, view=None, keys=None, default_view=None, **context):

    all_keys = []
    keys = (keys or [])
    if view:
        if keys:
            all_keys = (self._view_to_keys(view) + keys)
        else:
            all_keys = self._view_to_keys(view)
    elif keys:
        all_keys = keys
    elif default_view:
        all_keys = self._view_to_keys(default_view)
    return self.serialize(item, all_keys, **context)
