So at the moment, I'm working on my Django project and I have a signal receiver function that looks like this: @receiver(pre_save, sender=Task, dispatch_uid='core.models.task_handler_pre_1') @receiver(pre_save, sender=TaskHistory, dispatch_uid='core.models.task_handler_pre_2') @receiver(pre_save, sender=TaskUser, dispatch_uid='core.models.task_handler_pre_3') def task_handler_pre(sender, instance, **kwargs): # do some stuff In an attempt to make the code look cleaner, I was wondering whether would it be possible to do something like this: @receiver(pre_save, sender=[Task, TaskHistory, TaskUser], dispatch_uid='core.models.task_handler_pre') def task_handler_pre(sender, instance, **kwargs): # do some stuff i.e. Does the sender parameter accepts a list of senders as a valid argument ? If not, then does the value of the dispatch_uid parameter within the @receiver decorator, have to be different for each individual sender, or can it be the same i.e. As mentioned previously, my receiver function looks like this at the moment: @receiver(pre_save, sender=Task, dispatch_uid='core.models.task_handler_pre_1') @receiver(pre_save, sender=TaskHistory, dispatch_uid='core.models.task_handler_pre_2') @receiver(pre_save, sender=TaskUser, dispatch_uid='core.models.task_handler_pre_3') def task_handler_pre(sender, instance, **kwargs): # do some stuff What difference would it make if I make the following change: @receiver(pre_save, sender=Task, dispatch_uid='core.models.task_handler_pre') @receiver(pre_save, sender=TaskHistory, dispatch_uid='core.models.task_handler_pre') @receiver(pre_save, sender=TaskUser, dispatch_uid='core.models.task_handler_pre') def task_handler_pre(sender, instance, **kwargs): # do some stuff i.e. make the value of the dispatch_uid parameter the same ( core.models.task_handler_pre ) for each individual sender. Thanks! Continue reading...