Gracias a los dos por vuestras respuestas. Al final me he decantado por la solución de @snahor_ pero modificándola un poco para acomodarse a mis necesidades. Dejo la solución:
Código Python:
Ver originalclass Insert():
'''
Abstract class for models which need to do some stuff when are created, but only then (INSERT)
'''
def save(self, *args, **kwargs):
exists = self.pk
models.Model.save(self, *args, **kwargs) # since we can't use super, use models.Model.save directly
# and pass it <self> (Model inherits from models.Model)
if self.__insert__ and not exists:
self.__insert__(*args, **kwargs)
models.Model.save(self) # save it again to keep the __insert__ changes
class Foo(Insert, models.Model):
pass
Saludos (: