Django Admin: How do I know when a user is editing an existing object or saving a new object?

I would like to learn how to work with Django admin. How do I know when a user is editing an existing object or saving a new object?

For example, if I want a function to do something different when the user saves a new object or saves an edited object, how do I know what it is?

Thanks guys:)

Sorry for my English.

+2
django django-models django-admin


source to share


2 answers


class MyModel(models.Model):

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

      



+6


source to share


Perhaps you could do one of the following:



  • Listening for Django signals. Pre_save signal might be helpful in your case .
  • Overwriting ModelAdmin.save_model
  • Rewriting your models retains the method described by Adam
+1


source to share







All Articles
Loading...
X
Show
Funny
Dev
Pics