2009-09-23 5 views
2

J'ai une situation où je veux décharger un fragment de xml (un événement d'atome) chaque fois qu'une instance de modèle est enregistrée, mise à jour ou supprimée. Le fragment doit inclure des informations sur les objets associés.Utilisation d'objets connexes après la sauvegarde d'un objet?

Je ne trouve pas d'événement qui me permet d'utiliser des informations provenant d'objets associés après avoir enregistré mon objet. Le signal post_save semble être déclenché avant que l'objet connexe ait été sauvegardé.

Actuellement, je surcharge le ModelAdmin save_model method pour sortir une entrée atom complète contenant des détails sur l'instance et ses objets associés. Mais cela ne fonctionnera que si les instances sont gérées via l'interface d'administration et non lorsque les instances sont mises à jour par programmation.

Toute personne ayant réussi à créer quelque chose de similaire à un signal post_save_of_everything?

Répondre

0

J'imagine que vous pourriez ajouter votre propre méthode de sauvegarde à votre modèle qui appelle la méthode de sauvegarde de la classe de base, puis crée votre flux atomique.

+0

Cela n'aura malheureusement pas accès aux objets associés. – PeterK

+0

Pourquoi pas? Il a accès à l'instance en cours d'enregistrement, et cela lie sûrement à ses objets liés normalement? –

+0

Les propriétés ManyToMany sont vides dans la méthode save() de l'instance de modèle, même après l'appel de super save. Ils sont apparemment sauvés plus tard. – PeterK

0

L'entrée atom doit-elle être mise à jour une seule fois par instance save? Si non, ne pourriez-vous pas écouter post_save sur les objets liés?

Questions connexes