My Django custom user model
Spacing

At first glance, it looks like you're creating a bunch of variables instead of creating an object and passing default parameters. You should reduce all this extra spacing to make it clear what you're doing. Have a look:

user = self.model(
    user_email=self.normalize_email(email),
    user_name=username,
    first_name=f_name,
    last_name=l_name
)


This goes for both of the places where you do this.

According to PEP 8 there should only be one space before and after the = operator. The issue with how you're creating variables is that all that spaces requires the reader to keep they're gaze straight and follow the line to make sure they know what is being assigned to what. Here's an example in your code:

user_email                  = models.EmailField(max_length = 120, unique = True)
user_name                   = models.CharField(max_length = 40, unique = True)
first_name                  = models.CharField(max_length = 60)
last_name                   = models.CharField(max_length = 60)
date_joined                 = models.DateTimeField(auto_now_add = True)
last_login                  = models.DateTimeField(auto_now = True)
is_admin                    = models.BooleanField(default = False)
is_active                   = models.BooleanField(default = True)
is_staff                    = models.BooleanField(default = False)
is_superuser                = models.BooleanField(default = False)


All this spacing really isn't necessary.

Parameter spacing is also an issue in your code. Contrary to the suggestions above, there should be no spaces when passing default parameters. Have a look:

user_email = models.EmailField(max_length=120, unique=True)
def has_perm(self, perm, obj=None):
user.save(using=self._db)


Type Hints

You can use type hints to display what types of parameters are accepted and what types are returned by a function. Have a look:

def create_superuser(
    self,
    email: str,
    username: str,
    f_name: str,
    l_name: str, 
    password: str
) -&gt; User: