def contribute_to_class(self, model, name): super(MongoUserManager, self).contribute_to_class(model, name) self.dj_model = self.model self.model = get_user_document() self.dj_model.USERNAME_FIELD = self.model.USERNAME_FIELD username = CharField(_('username'), max_length=30, unique=True) username.contribute_to_class(self.dj_model, self.dj_model.USERNAME_FIELD) self.dj_model.REQUIRED_FIELDS = self.model.REQUIRED_FIELDS for name in self.dj_model.REQUIRED_FIELDS: field = CharField(_(name), max_length=30) field.contribute_to_class(self.dj_model, name) is_staff = BooleanField(_('is_staff'), default=False) is_staff.contribute_to_class(self.dj_model, 'is_staff') is_active = BooleanField(_('is_active'), default=False) is_active.contribute_to_class(self.dj_model, 'is_active') is_superuser = BooleanField(_('is_superuser'), default=False) is_superuser.contribute_to_class(self.dj_model, 'is_superuser') last_login = DateTimeField(_('last_login'), auto_now_add=True) last_login.contribute_to_class(self.dj_model, 'last_login') date_joined = DateTimeField(_('date_joined'), auto_now_add=True) date_joined.contribute_to_class(self.dj_model, 'date_joined')