def _create_value_expression(self, col, doc, valuename, value_dict, allow_null_values=False, assign=False):
        if col in GEOSPATIAL_COLS:
            value = self._get_geom_value(col, doc)
        elif col in NUMRANGE_COLS:
            value = self._get_range_value(col, doc)
        else:
            value = doc.get(col, None)

        if allow_null_values or value or type(value) is bool:
            insert_expr = ", "
            if assign:
                insert_expr += col + "="
            if col in GEOSPATIAL_COLS:
                insert_expr += "ST_GeomFromText(%(" + valuename + ")s,4326)"
            elif col in NUMRANGE_COLS:
                insert_expr += "%(" + valuename + ")s::numrange"
            else:
                insert_expr += "%(" + valuename + ")s"
            value_dict[valuename] = value
        else:
            insert_expr = None

        return insert_expr
Establish that we are able to create a project update
dataset/ETHPy150Open ooici/pyon/pyon/datastore/postgresql/base_store.py/PostgresDataStore._create_value_expression--crossover with--dataset/ETHPy150Open ansible/tower-cli/tests/test_resources_project.py/UpdateTests.test_basic_update_with_monitor