Custom User classesΒΆ
Many projects use a custom User class, augmenting that from
django.contrib.auth. If you want to use such a custom class with
lazysignup, then you can set the LAZYSIGNUP_USER_MODEL setting.
This should be a standard dotted Django name for a model, eg:
LAZYSIGNUP_USER_MODEL = 'myapp.CustomUser'
The setting defaults to settings.AUTH_USER_MODEL, so if you’ve set
AUTH_USER_MODEL to your custom model, there is no need to alter
LAZYSIGNUP_USER_MODEL.
If you do use a custom user class, note that lazysignup expects that
class’ default manager to have a create_user method, with the same
signature and semantics as django.contrib.auth.models.UserManager. If your
model actually subclasses Django’s own user model, you may well be able to
use this manager directly. For example:
from django.contrib.auth.models import AbstractUser, UserManager
class MyCustomUser(AbstractUser):
objects = UserManager()
notes = models.TextField(blank=True, null=True)
lazysignup also expects that it can fetch instances of your custom user
class using a get() method on the object’s manager, and that looking them
up by primary key and by username will work. See lazysignup.backends
for more detail.