One solution is to make sure to set that column value to []
every time a row is added to the database. This would also require adding empty lists to all existing rows, which can easily be done on a server console with this:
from tables import app_tables
for row in app_tables.pushes.search():
if not row['linked_pushes']:
row['linked_pushes'] = []
Another solution is to leave the creation of rows and current database as they are and never assuming that that column has a list, for example converting this:
start_global_push["linked_pushes"] += [this_push]
into this:
if start_global_push["linked_pushes"]: # if truthy (no [], None, 0, ...)
start_global_push["linked_pushes"] += [this_push] # add to current list
else:
start_global_push["linked_pushes"] = [this_push] # create new list