This is to avoid circular import issues as most receivers.py modules also import models. It's not entirely clear what circumstances are required to get the circular import - it seems to be when using django-debug-toolbar>=1.0, which changes the way the URLs are monkey-patched. This changes adopts the recommended practice for importing signal receivers: - https://groups.google.com/forum/#!msg/django-developers/PReHoxwwG_c/M-asj72ks7YJ - http://stackoverflow.com/a/14192257/25517 Fixes #1125 (I think)