I have a code that loads alot of data into the module to avoid many trips between client and server.
It was working perfectly fine and now suddenly stopped to work…
I visited even the few versions from past few days, where it was working. Without success… Suddenly that same error. Even yesterday there was no KeyError: ‘0’ error and now it is there.
The error I’m getting:
KeyError: '0'
at /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/tables/v2/_utils.py:125
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/tables/v2/_utils.py:92
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/tables/v2/_search.py:157
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/tables/v2/_search.py:165
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/_server.py:930
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/_server.py:953
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/_server.py:947
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/_server.py:1013
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil/_serialise.py:133
called from /home/anvil/.downlink-sources/downlink-2023-07-03-12-01-09/anvil_downlink_worker/full_python_worker.py:49
I located what is causing the problem, but don’t know why… I did nothing to it the last past days… Really nothing not even added a single new file that fit search criteria…
#trainingsrecords
training_record = app_tables.projects_files.search(q.fetch_only("file_id", "study_id", "task_id", "document_type", "version",
"file_name", "file_type", "creation_date","description", "updated_date", trainingsrecord_link=q.fetch_only("user_link"),
created_by=q.fetch_only("email"), updated_by=q.fetch_only("email")), tables.order_by('creation_date', ascending=False),
study_id=study_id, document_type='Training record')
what solves the problem…
- deleting training_record database query
OR - that:
for training in training_record:
pass
Why is it solving the problem? What is wrong with that part.
There are atm. only 2 rows that match the search criteria and they seem to be correct
I’m even use additional queries on that database to get all files(so those 2 files are there too) and files of type instruction and in that case there is no key error 0
#get Data from projects_files database
#all files
file_manager = app_tables.projects_files.search(q.fetch_only("file_id", "study_id", "task_id", "document_type", "version",
"file_name", "file_type", "task_used_date", "creation_date","description"),tables.order_by('creation_date', ascending=False),
study_id=study_id)
#instructions
instructions = app_tables.projects_files.search(q.fetch_only("file_id", "study_id", "task_id", "document_type", "version",
"file_name", "file_type", "creation_date","description", "updated_date",
created_by=q.fetch_only("email"), updated_by=q.fetch_only("email")),tables.order_by('creation_date', ascending=False),
study_id=study_id, document_type='Instruction')