diff --git a/app/routers/event_exhibit_tracking.py b/app/routers/event_exhibit_tracking.py index cfc787a..e8e07ca 100644 --- a/app/routers/event_exhibit_tracking.py +++ b/app/routers/event_exhibit_tracking.py @@ -255,6 +255,8 @@ async def get_event_exhibit_obj_tracking_list( ): event_exhibit_tracking_result_list = [] data_dict_list_for_export = [] + # Append the key to the list only if it is unique + response_key_dict_list_for_export = [] for event_exhibit_tracking_rec in event_exhibit_tracking_rec_list_result: if load_event_exhibit_tracking_result := load_event_exhibit_tracking_obj( event_exhibit_tracking_id = event_exhibit_tracking_rec.get('event_exhibit_tracking_id'), @@ -371,9 +373,13 @@ async def get_event_exhibit_obj_tracking_list( # {"example_text": {"response": "This is an example of an text answer."}, "example_option_list": {"response": "no"}, "the_code": {"response": "yes"}, "question_everything": {"response": "tomorrow"}, "pre_assesment": {"response": "yes"}} if 'responses_json' in data_dict and data_dict['responses_json']: responses_json = data_dict.pop('responses_json', None) + + # Add the unique keys to the list + response_key_dict_list_for_export = list(set(response_key_dict_list_for_export + list(responses_json.keys()))) for key, value in responses_json.items(): # Only use the response value. data_dict[key] = value.get('response') + # else: # data_dict[key] = None @@ -436,12 +442,14 @@ async def get_event_exhibit_obj_tracking_list( 'created_on', 'updated_on', ] - + + # WARNING: This is not correct! # Add the custom questions to the column_name_li for the label row of the export file - column_name_li.extend(data_dict_list_for_export[0].keys()) + # column_name_li.extend(data_dict_list_for_export[0].keys()) + column_name_li.extend(response_key_dict_list_for_export) log.debug(column_name_li) - log.debug(data_dict_list_for_export) + # log.debug(data_dict_list_for_export) datetime_format='%Y-%m-%d_%H%M'