Update WorkerActivity.updated using a trigger
Closes #1356 (closed)
Merge request reports
Activity
changed milestone to %Arkindex 1.3.4
requested review from @babadie
added 6 commits
-
e8a4898b...9dab7bea - 5 commits from branch
master
- 862446fa - Update WorkerActivity.updated using a trigger
-
e8a4898b...9dab7bea - 5 commits from branch
I was able to check it from the django shell, calling save after a state change fails with
save()
). You have to specify which fields are to be updated (which is OK). As there is no way to set a read-only model field, we'll live with itThe exception is pretty straightforward
>>> wa.save() Traceback (most recent call last): File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) psycopg2.errors.RaiseException: pgtrigger: Cannot update rows from process_workeractivity table CONTEXT: PL/pgSQL function pgtrigger_read_only_workeractivity_updated_a80ab() line 11 at RAISE The above exception was the direct cause of the following exception: Traceback (most recent call last): File "<console>", line 1, in <module> File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 806, in save self.save_base( File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 857, in save_base updated = self._save_table( File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 970, in _save_table updated = self._do_update( File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 1034, in _do_update return filtered._update(values) > 0 File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/query.py", line 885, in _update return query.get_compiler(self.db).execute_sql(CURSOR) File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1783, in execute_sql cursor = super().execute_sql(result_type) File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1361, in execute_sql cursor.execute(sql, params) File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 103, in execute return super().execute(sql, params) File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 67, in execute return self._execute_with_wrappers( File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers return executor(sql, params, many, context) File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute with self.db.wrap_database_errors: File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute return self.cursor.execute(sql, params) django.db.utils.InternalError: pgtrigger: Cannot update rows from process_workeractivity table CONTEXT: PL/pgSQL function pgtrigger_read_only_workeractivity_updated_a80ab() line 11 at RAISE
Please register or sign in to reply