diff --git a/src/backend/InvenTree/importer/mixins.py b/src/backend/InvenTree/importer/mixins.py index 1a36982ed6..969f82afa2 100644 --- a/src/backend/InvenTree/importer/mixins.py +++ b/src/backend/InvenTree/importer/mixins.py @@ -24,11 +24,11 @@ class DataImportSerializerMixin: Determine if the serializer is being used for data import, and if so, adjust the serializer fields accordingly. """ - importing = kwargs.pop('importing', False) + self._is_importing = kwargs.pop('importing', False) super().__init__(*args, **kwargs) - if importing: + if self._is_importing: # Exclude any fields which are not able to be imported importable_field_names = list(self.get_importable_fields().keys()) field_names = list(self.fields.keys()) diff --git a/src/backend/InvenTree/stock/migrations/0119_alter_stockitemtestresult_date.py b/src/backend/InvenTree/stock/migrations/0119_alter_stockitemtestresult_date.py new file mode 100644 index 0000000000..b0389ca2ec --- /dev/null +++ b/src/backend/InvenTree/stock/migrations/0119_alter_stockitemtestresult_date.py @@ -0,0 +1,22 @@ +# Generated by Django 5.2.12 on 2026-03-21 08:00 + +import InvenTree.helpers +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("stock", "0118_auto_20260205_1218"), + ] + + operations = [ + migrations.AlterField( + model_name="stockitemtestresult", + name="date", + field=models.DateTimeField( + default=InvenTree.helpers.current_time, + verbose_name="Date" + ), + ), + ] diff --git a/src/backend/InvenTree/stock/models.py b/src/backend/InvenTree/stock/models.py index a3406adb41..d941919706 100644 --- a/src/backend/InvenTree/stock/models.py +++ b/src/backend/InvenTree/stock/models.py @@ -3101,4 +3101,6 @@ class StockItemTestResult(InvenTree.models.InvenTreeMetadataModel): help_text=_('The timestamp of the test finish'), ) - date = models.DateTimeField(auto_now_add=True, editable=False) + date = models.DateTimeField( + default=InvenTree.helpers.current_time, verbose_name=_('Date') + ) diff --git a/src/backend/InvenTree/stock/serializers.py b/src/backend/InvenTree/stock/serializers.py index ded3441338..5aa339e340 100644 --- a/src/backend/InvenTree/stock/serializers.py +++ b/src/backend/InvenTree/stock/serializers.py @@ -220,7 +220,16 @@ class StockItemTestResultSerializer( 'template', 'template_detail', ] - read_only_fields = ['pk', 'user', 'date'] + read_only_fields = ['pk'] + + def __init__(self, *args, **kwargs): + """Handle custom initialization for the serializer.""" + super().__init__(*args, **kwargs) + + if not self._is_importing: + # Unless we are importing data, mark the 'user' and 'date' fields as read-only + self.fields['user'].read_only = True + self.fields['date'].read_only = True user_detail = enable_filter( UserSerializer(source='user', read_only=True, allow_null=True),