Why am I getting TypeError: unsupported operand type(s) for +: 'NoneType' and 'list'

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
2 Likes