2010-09-10 22 views

Respuesta

40

Si obtiene una instancia modelo de la base de datos, al llamar al método guardar siempre se actualizará esa instancia. Por ejemplo:

t = TemperatureData.objects.get(id=1) 
t.value = 999 # change field 
t.save() # this will update only 

Si su objetivo es evitar que cualquier inserción, a continuación, se puede reemplazar el método save, prueba si existe la clave principal y lanzar una excepción. Consulte la siguiente tabla para obtener más detalles:

+0

¿Cómo se puede actualizar en ManyToMany campos de relación? – Jay

+1

¿No hay otra solución? Esto parece más como "SELECCIONAR/ACTUALIZAR" que simplemente "ACTUALIZAR" – Loic

2

Django tiene algún tipo de documentación al respecto en su página web, consulte: Saving changes to objects. Para resumir:

.. para guardar los cambios en un objeto que ya está en la base de datos, use save().

5

debe hacerlo de esta manera idealmente

t = TemperatureData.objects.get(id=1) 
t.value = 999 
t.save(['value']) 

Esto permite especificar qué columna debe ser guardado y demás se dejan como Actualmente están en la base de datos. (https://code.djangoproject.com/ticket/4102)!

Cuestiones relacionadas