-
Notifications
You must be signed in to change notification settings - Fork 10
Description
We ran an event last weekend that involved pulling in some license holder data with tag2 set so we could support using their existing tags.
Merging duplicate license holders today I'm getting this if I select the newer record. Merging to the older record works.
Request Method: GET
Request URL: http://racedb.wimsey.online/RaceDB/LicenseHolders/LicenseHoldersManageDuplicates/LicenseHoldersMergeDuplicatesOK/6108/10621,6108/
Django Version: 5.1.1
Python Version: 3.10.15
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_extensions',
'crispy_forms',
'crispy_bootstrap3',
'core')
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
The above exception (duplicate key value violates unique constraint "core_licenseholder_existing_tag2_key"
DETAIL: Key (existing_tag2)=(30187E7C3CA35DE138AF8E2A) already exists.
) was the direct cause of the following exception:
File "/usr/local/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/usr/local/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/RaceDB/core/views.py", line 801, in LicenseHoldersMergeDuplicatesOK
license_holder_merge_duplicates( license_holder_merge, duplicates )
File "/RaceDB/core/models.py", line 5794, in license_holder_merge_duplicates
p.save()
File "/RaceDB/core/models.py", line 3924, in save
license_holder.save()
File "/RaceDB/core/models.py", line 2547, in save
super().save( *args, **kwargs )
File "/usr/local/lib/python3.10/site-packages/django/db/models/base.py", line 891, in save
self.save_base(
File "/usr/local/lib/python3.10/site-packages/django/db/models/base.py", line 997, in save_base
updated = self._save_table(
File "/usr/local/lib/python3.10/site-packages/django/db/models/base.py", line 1129, in _save_table
updated = self._do_update(
File "/usr/local/lib/python3.10/site-packages/django/db/models/base.py", line 1194, in _do_update
return filtered._update(values) > 0
File "/usr/local/lib/python3.10/site-packages/django/db/models/query.py", line 1278, in _update
return query.get_compiler(self.db).execute_sql(CURSOR)
File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 2003, in execute_sql
cursor = super().execute_sql(result_type)
File "/usr/local/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1574, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 122, in execute
return super().execute(sql, params)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in execute
return self._execute_with_wrappers(
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 100, in _execute
with self.db.wrap_database_errors:
File "/usr/local/lib/python3.10/site-packages/django/db/utils.py", line 91, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
Exception Type: IntegrityError at /RaceDB/LicenseHolders/LicenseHoldersManageDuplicates/LicenseHoldersMergeDuplicatesOK/6108/10621,6108/
Exception Value: duplicate key value violates unique constraint "core_licenseholder_existing_tag2_key"
DETAIL: Key (existing_tag2)=(30187E7C3CA35DE138AF8E2A) already exists.