From b42bc955c1e3e8a4af24ea6ca960328424acd30d Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 22 Jul 2026 00:06:21 +0000 Subject: [PATCH] Skip constraint checking in NoteSerializer --- src/backend/InvenTree/common/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/InvenTree/common/serializers.py b/src/backend/InvenTree/common/serializers.py index 8d7219b1c9..715f6eae78 100644 --- a/src/backend/InvenTree/common/serializers.py +++ b/src/backend/InvenTree/common/serializers.py @@ -878,6 +878,14 @@ class NoteSerializer(FilterableSerializerMixin, InvenTreeModelSerializer): read_only_fields = ['updated', 'updated_by'] + def get_unique_together_validators(self): + """Skip the auto-generated 'unique_primary_note_per_model' validator. + + That constraint is deliberately enforced by Note.save() by demoting + sibling notes, rather than rejecting requests that set 'primary'. + """ + return [] + def validate(self, data): """Validate note data — templates need no model_id; regular notes require both.""" data = super().validate(data)