diff --git a/feincms/__init__.py b/feincms/__init__.py index 564317a46..6b633245f 100644 --- a/feincms/__init__.py +++ b/feincms/__init__.py @@ -23,7 +23,7 @@ def __getattr__(self, attr): COMPLETELY_LOADED = False -def ensure_completely_loaded(force=False): +def ensure_completely_loaded(): """ This method ensures all models are completely loaded @@ -36,7 +36,7 @@ def ensure_completely_loaded(force=False): """ global COMPLETELY_LOADED - if COMPLETELY_LOADED and not force: + if COMPLETELY_LOADED: return True # Ensure meta information concerning related fields is up-to-date. diff --git a/feincms/models.py b/feincms/models.py index 844a0bc2e..c9672bafc 100644 --- a/feincms/models.py +++ b/feincms/models.py @@ -706,7 +706,10 @@ class Meta(feincms_content_base.Meta): cls.feincms_item_editor_includes.setdefault( key, set()).update(incls) - ensure_completely_loaded(force=True) + # since this content type is potentially being added after cls is + # loaded by Django, we will reload the cls's related objects cache. + # See issue #323. + cls._meta._fill_related_objects_cache() return new_type @property