It is possible to attach signals to `settings.AUTH_USER_MODEL` while taking its swappable nature into account.
There might be a better way but that's how I've done it for
a reusable application of mine using the `
class_prepared` signal.
The technique involves looking up the model cache by app_label and model (retrieved from splitting `settings.AUTH_USER_MODEL` by '.') and falling back to `class_prepared` if it's not loaded yet. When you have a reference to the model, either through `get_model` or `class_prepared` callback, you can proceed to signal connecting.
It's a shame `class_prepared`'s sender is the model class and not a str of the `app_label.ModelName` form (just like related fields handle deferred reference). I wonder if it could be possible to change its behavior while maintaining backward compatibility by making a `model_class` an instance of a `Signal` subclass instead.
Simon