'Returns a sequence of (field, model) pairs for all fields. The "model"
element is None for fields on the current model. Mostly of use when
constructing queries so that we know which model a field belongs to.'

def get_fields_with_model(self):

    try:
        self._field_cache
    except AttributeError:
        self._fill_fields_cache()
    return self._field_cache
