def _get_fields(self, forward=True, reverse=True, include_parents=True, include_hidden=False, seen_models=None): cache_key = (forward, reverse, include_parents, include_hidden, seen_models is None) was_cached = cache_key in self._get_fields_cache fields = orig_get_fields(forward=forward, reverse=reverse, include_parents=include_parents, include_hidden=include_hidden, seen_models=seen_models) # If it was cached already, it's because we've already filtered this, skip it if not was_cached: fields = [ f for f in fields if TypedModelMetaclass._model_has_field( cls, base_class, f) ] fields = make_immutable_fields_list("get_fields()", fields) self._get_fields_cache[cache_key] = fields return fields
def _get_fields(self, forward=True, reverse=True, include_parents=True, include_hidden=False, seen_models=None): cache_key = (forward, reverse, include_parents, include_hidden, seen_models is None) was_cached = cache_key in self._get_fields_cache fields = orig_get_fields( forward=forward, reverse=reverse, include_parents=include_parents, include_hidden=include_hidden, seen_models=seen_models ) # If it was cached already, it's because we've already filtered this, skip it if not was_cached: fields = [f for f in fields if TypedModelMetaclass._model_has_field(cls, base_class, f)] fields = make_immutable_fields_list("get_fields()", fields) self._get_fields_cache[cache_key] = fields return fields
def _get_fields(self, *args, **kwargs): fields = six.itervalues(self._defined_columns) return options.make_immutable_fields_list('get_fields()', fields)