Django: Uso de una expresión F para un campo de texto en una llamada de actualización

En una vista de django, necesito agregar datos de cadena al final de una columna de texto existente en mi base de datos. Entonces, por ejemplo, digamos que tengo una tabla llamada "ATable", y tiene un campo llamado "aField". Me gustaría poder agregar una cadena al final de "aField" de forma libre de condiciones de carrera. Inicialmente, tenía esto:

tableEntry = ATable.objects.get(id=100)
tableEntry.aField += aStringVar
tableEntry.save()

El problema es que si esto se ejecuta simultáneamente, ambos pueden obtener el mismo "tableEntry", luego cada uno se actualiza de forma independiente, y el último en "guardar" gana, perdiendo los datos agregados por el otro.

Investigué esto un poco y encontré esto, que esperaba que funcionara, usando una expresión F:

ATable.objects.filter(id=100).update(aField=F('aField') + aStringVar)

El problema aquí es que recibo un error de SQL que dice:

operator does not exist: text + unknown
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

Traté de cambiar a "str (aStringVar)" a pesar de que ya es una cadena, no tuve suerte ... Encontré un par de informes de errores de django quejándose de problemas similares, pero no vi una solución o una solución alternativa. ¿Hay alguna forma en que pueda emitir aStringVar de modo que pueda agregarse al texto de la expresión F? Por cierto, también probé "str (F ('aField')) + aStringVar" pero eso convirtió el resultado de la expresión F en la cadena "(DEFAULT:)".

Respuestas a la pregunta(5)

Su respuesta a la pregunta