laws-africa / indigo

Indigo Platform for publishing beautiful legislation.
https://laws.africa/indigo
Other
55 stars 24 forks source link

IntegrityError: duplicate key value violates unique constraint "indigo_api_commencement_commenced_work_id_commen_... #2087

Open sentry-io[bot] opened 2 months ago

sentry-io[bot] commented 2 months ago

Sentry Issue: INDIGO-LAWSAFRICA-1NQ

UniqueViolation: duplicate key value violates unique constraint "indigo_api_commencement_commenced_work_id_commen_1e6073eb_uniq"
DETAIL:  Key (commenced_work_id, commencing_work_id, date)=(23986, 23987, 2009-04-30) already exists.

  File "django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)

IntegrityError: duplicate key value violates unique constraint "indigo_api_commencement_commenced_work_id_commen_1e6073eb_uniq"
DETAIL:  Key (commenced_work_id, commencing_work_id, date)=(23986, 23987, 2009-04-30) already exists.

(21 additional frame(s) were not displayed)
...
  File "indigo_app/views/base.py", line 82, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "indigo_app/views/base.py", line 55, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "indigo_app/views/works.py", line 461, in post
    return super().post(request, *args, **kwargs)
  File "indigo_app/views/works.py", line 478, in form_valid
    self.object = form.save()
  File "indigo_api/models/works.py", line 782, in save
    super().save(*args, **kwargs)
goose-life commented 2 months ago

To reproduce: In e.g. https://edit.laws.africa/works/akn/za/act/2007/19/commencements/

This isn't a bug, it's a legitimate error, but we'd rather display the error to the user so they understand what's gone wrong — so let's do some extra validation on the form.