From 2575c7276c8b00f02d9d231f4679b357dd7807ec Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 21 Jan 2025 01:24:36 +1100 Subject: [PATCH] Import fix (#8924) * Exclude "tags" fields from data import - May reintroduce at a later date - Currently, no support for editing tags in frontend * Refactor --- src/backend/InvenTree/importer/mixins.py | 6 ++++++ src/backend/InvenTree/part/serializers.py | 2 +- src/backend/InvenTree/stock/serializers.py | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/backend/InvenTree/importer/mixins.py b/src/backend/InvenTree/importer/mixins.py index 285a697155..96bc871734 100644 --- a/src/backend/InvenTree/importer/mixins.py +++ b/src/backend/InvenTree/importer/mixins.py @@ -5,6 +5,7 @@ from django.utils.translation import gettext_lazy as _ import tablib from rest_framework import fields, serializers +from taggit.serializers import TagListSerializerField import importer.operations from InvenTree.helpers import DownloadFile, GetExportFormats, current_date @@ -81,6 +82,11 @@ class DataImportSerializerMixin: if issubclass(field.__class__, fields.FileField): continue + # Skip tags fields + # TODO: Implement tag field support + if issubclass(field.__class__, TagListSerializerField): + continue + importable_fields[name] = field return importable_fields diff --git a/src/backend/InvenTree/part/serializers.py b/src/backend/InvenTree/part/serializers.py index 2fcdf1206a..a19f797d39 100644 --- a/src/backend/InvenTree/part/serializers.py +++ b/src/backend/InvenTree/part/serializers.py @@ -683,7 +683,7 @@ class PartSerializer( Used when displaying all details of a single component. """ - import_exclude_fields = ['duplicate', 'tags'] + import_exclude_fields = ['duplicate'] class Meta: """Metaclass defining serializer fields.""" diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py index a11f90b670..fc91e16660 100644 --- a/src/backend/InvenTree/stock/serializers.py +++ b/src/backend/InvenTree/stock/serializers.py @@ -344,7 +344,7 @@ class StockItemSerializer( export_only_fields = ['part_pricing_min', 'part_pricing_max'] - import_exclude_fields = ['use_pack_size', 'tags'] + import_exclude_fields = ['use_pack_size'] class Meta: """Metaclass options.""" @@ -1142,7 +1142,7 @@ class LocationSerializer( ): """Detailed information about a stock location.""" - import_exclude_fields = ['tags'] + import_exclude_fields = [] class Meta: """Metaclass options."""