J'ai modèle
class UserPermission(models.Model):
user = models.OneToOneField(User)
user_type = models.ManyToManyField(UserType)
persona = models.ManyToManyField(Persona)
Et après le signal de sauvegarde
@receiver(post_save, sender=UserPermission)
def post_save_user_permissions(sender, instance, **kwargs)
"""
Depending on selected UserType and Persona for a user, Update some other model
"""
pass
Je veux toutes les valeurs mises à jour des deux champs m2m dans le signal post-sauvegarde. mais le problème ici est que le signal post save est appelé avant que les champs m2m ne soient enregistrés dans la base de données.
J'aurais pu utiliser le signal m2m_changed, mais il y a deux champs m2m et je ne peux pas associer ou lier ces deux signaux
Est-il possible d'appeler post_save une fois que tous les champs m2m du modèle sont enregistrés dans db.
Réponses:
0 pour la réponse № 1Deux possibilités:
- essayez post_save sur
UserType
- essayez de nommer la table intermédiaire en utilisant
through
, commethrough="UserPermissionType"
et essayez post_save surUserPermissionType
J'espère vous avoir donné suffisamment d'indices pour trouver la solution.