Ok, added better exception handling.  This turned up an interesting case that on initial row creation, reading the prior json_data and json_score_data as NULL was indeed being caught as an exception.  This still worked, but a bit ugly.  Better to provide a proper default in the get_or_create(), which I do now.  Good catch @jbau thanks.