Django - guardar () actualización en clave duplicada

Tengo poca aplicación que permite a un usuario calificar un video.

El usuario puede calificar solo una vez. Así que he definido la unicidad en el modelo.

Pero él debería poder cambiar su ritmo. Entonces elsave() debería actualizarse en clave duplicada

class VideoRate(models.Model):
  """Users can Rate each Video on the criterias defined for the topic"""
  user = models.ForeignKey(User)
  video = models.ForeignKey(VideoFile)
  crit = models.ForeignKey(VideoCrit)
  rate = models.DecimalField(max_digits=2, decimal_places=1, choices=RATE_CHOICES)
  class Meta:
    unique_together = (('user', 'video', 'crit'),)
    verbose_name = 'Video Rating'

Si y

rate = VideoRate(user_id=1, video_id=1, crit_id=1, rate=2)
rate.save()

Está guardando la calificación, pero si yo

rate = VideoRate(user_id=1, video_id=1, crit_id=1, rate=3)
rate.save()

Me sale el error normal

IntegrityError: (1062, "Duplicate entry '1-1-1' for key 'user_id'")

Incluso si usoforce_update=True (ya que se basa solo en claves principales)

¿Existe alguna forma de actualizar la calificación si ya existe sin tener que verificar los datos antes?

Respuestas a la pregunta(2)

Su respuesta a la pregunta