Django - Using multiple models for authentication
<p>I am kind of new to django and I am concerned about can we use multiple models for authentication for different types of users for our application e.g for Customers use Customer model, for Suppliers use Supplier model and also keep default User registration model for administration use only? If so can you point me in the right direction, how it can be done? Which package should be used?
There is one way that I came around is by adding a foreign key to each model viz needed for authentication but that will involve joins in every query which could result in performance issues. I need to know if there is a better way. An also these custom models can benefit for all permissions stuff available in admin panel. 
Expert opinion will be really appreciated.  </p>

<p>There are a few different options to handle that. 
Maybe check first <a href="https://docs.djangoproject.com/en/1.8/topics/auth/customizing/" rel="nofollow">the Django-docu</a>.
I've you'ld like to customize it to authenticate your users with a mail-address, there's a nice Tutorial <a class='doc-link' href="http://stackoverflow.com/documentation/django/1282/authentication-backends#t=201609301437273937302">right here!</a></p>

python django authentication django-registration custom-authentication