diff options
Diffstat (limited to 'ishtar_common/serializers.py')
-rw-r--r-- | ishtar_common/serializers.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py index d2e3c2b98..84108c135 100644 --- a/ishtar_common/serializers.py +++ b/ishtar_common/serializers.py @@ -28,6 +28,8 @@ from archaeological_finds.serializers import find_serialization, \ from archaeological_warehouse.serializers import warehouse_serialization, \ WAREHOUSE_MODEL_LIST +from django.contrib.contenttypes.management import create_contenttypes + class PublicSerializer(serializers.BaseSerializer): def to_representation(self, obj): @@ -38,7 +40,7 @@ TYPE_MODEL_EXCLUDE = ["Area", "OperationTypeOld", "ProfileTypeSummary"] def get_type_models(): - return [ContentType, Permission, Group] + [ + return [Permission, Group] + [ model for model in apps.get_models() if isinstance(model(), models.GeneralType) and ( model.__name__ not in TYPE_MODEL_EXCLUDE) @@ -295,6 +297,9 @@ def full_serialization(operation_queryset=None, site_queryset=None, def restore_serialized(archive_name, user=None, delete_existing=False, release_locks=False): + for app in apps.get_app_configs(): + create_contenttypes(app, verbosity=1, interactive=False) + with zipfile.ZipFile(archive_name, "r") as zip_file: # check version info = json.loads(zip_file.read("info.json").decode("utf-8")) |