Here's a POC<https://github.com/charettes/django/compare/lazy-class-prepared>which passes all tests on Py2 SQLite.
Le mardi 29 octobre 2013 23:10:39 UTC-4, charettes a écrit : > > 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<https://github.com/charettes/django-tenancy/blob/d6d63af092439a6f66a56ff490efb1f358c02e73/tenancy/signals.py#L8-L25>using > the ` > class_prepared<https://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.signals.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 > > Le mardi 29 octobre 2013 21:42:32 UTC-4, Val Neekman a écrit : >> >> Folks, >> >> I am to release an app as a reusable app. However, the app makes the use >> of post_save signals raised by the User model and there is a problem. >> >> With the limitation of a Custom User + Signals in mind, I cannot really >> call it a "true" reusable app, if it doesn't work for setups that have >> rolled out their own custom users. >> >> I wonder if anyone has come across the same issue when releasing a "true" >> reusable app? >> >> Thanks, >> >> Val >> >> -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/7d02fb61-6b74-4136-ba78-5e7a0b6753a6%40googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
