Django m2m remove en post_save signal

Buenas, estoy teniendo el siguiente problema:

Al guardar un modelo quiero eliminar todas las relaciones que tiene en un campo ManyToMany (si se realizaron modificaciones desde el admin page entonces dichas relaciones deben cambiar). Si lo hago manualmente por consola corre bien, no tira ningún error. Pero cuando pongo el código en el signal no ocurre nada, ni siquiera tira error y las relaciones siguen estando. Dejo el código:

@receiver(post_save, sender=Metrica)
def update_metrica(sender, instance, **kwargs):
queries = instance.queries.all()
instance.queries.remove(*queries)

Este mismo código funciona en la shell y me elimina las relaciones

Al parecer si me elimina las relaciones, ya que al final con un print(instances.queries.all()) devuelve []. El tema es que no se está guardando ese cambio

Ya lo solucione con un override de save_related

2 Me gusta