2009-09-01 6 views
2

Je voudrais apprendre à travailler avec l'Admin Django. Comment savoir quand l'utilisateur modifie un objet existant ou enregistre un nouvel objet? Par exemple, si je veux faire une fonction pour faire quelque chose de différent lorsque l'utilisateur enregistre un nouvel objet ou enregistre un objet édité, comment savoir lequel est quoi?Django Admin: Comment savoir quand l'utilisateur modifie un objet existant ou enregistre un nouvel objet?

Merci les gars :)

Désolé pour mon anglais.

Répondre

6
class MyModel(models.Model): 

    def save(self): 
     if self.id != None: 
      print "Edited object" 
     else: 
      print "New object" 
     super(MyModel, self).save() 
+0

L'attribut id du modèle serait Aucun si vous enregistrez pour la première fois. – Yuvi

+0

Merci beaucoup les gars – Asinox

1

Vous pourriez probablement faire une des opérations suivantes:

  1. l'écoute des signaux de Django. Dans votre cas, le pre_save signal pourrait être utile.
  2. Écrasement ModelAdmin.save_model
  3. Surgraver vos modèles méthode de sauvegarde comme décrit par Adam
Questions connexes