xxxxxxxxxx
from django.dispatch import receiver
from django.db.models.signals import pre_save, post_save, post_delete
def extra_args(fragment_name, *args, **kwargs):
def inner1(f, *args, **kwargs):
def inner2(sender, instance, **kwargs):
f(sender, instance, fragment_name=fragment_name, **kwargs)
return inner2
return inner1
@receiver(post_save, sender=ExampleModel)
@extra_args(fragment_name="categories_index")
def my_post_save(sender, instance, fragment_name, **kwargs):
print "fragment_name : ", fragment_name
#rest of post save...
xxxxxxxxxx
def save(self, commit=True):
user = super(CustomFormThing, self).save(commit=False)
#set some other attrs on user here ...
user._some = 'some'
user._other = 'other'
if commit:
user.save()
return user
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
some_id = getattr(instance, '_some', None)
other_id = getattr(instance, '_other', None)
if created:
#do something with the kwargs above...