Cuando usted está tratando de acceder a los campos de muchos a muchos en la señal post_save del modelo de los objetos relacionados que ya se han eliminado y no se añadirá otra vez hasta después de que la señal haya terminado
Para acceder a estos datos, debe vincular el método save_related en su ModelAdmin. Lamentablemente, también deberá incluir el código en la señal post_save para las solicitudes que no sean de administrador que requieran su personalización.
ver: https://docs.djangoproject.com/en/1.7/ref/contrib/admin/#django.contrib.admin.ModelAdmin.save_related
Ejemplo:
# admin.py
Class GroupAdmin(admin.ModelAdmin):
...
def save_related(self, request, form, formsets, change):
super(GroupAdmin, self).save_related(request, form, formsets, change)
# do something with the manytomany data from the admin
form.instance.users.add(some_user)
Luego, en sus señales que pueden realizar los mismos cambios que desea ejecutar en una reserva:
# signals.py
@receiver(post_save, sender=Group)
def group_post_save(sender, instance, created, **kwargs):
# do somethign with the manytomany data from non-admin
instance.users.add(some_user)
# note that instance.users.all() will be empty from the admin: []
Por lo tanto, están cambiando el pk de los objetos? –
Tengo un objeto, y hay una relación manytomany con otra, pero puedo obtener una relación actualizada – diegueus9