Я никогда не осуществилось это сам, но направить вас в правильном направлении, это может быть стоит иметь прочитать это:
https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#authentication-backends
По звукам вещей, которые вы можете быть в состоянии написать бэкэнда аутентификации для вашей модели конечного пользователя, которую вы можете запустить в тандеме с системой аутентификации Django.
Если вы могли бы заставить это работать, я бы предположил, что вам нужно будет убедиться, что модель пользовательского интерфейса, прошедшая проверку подлинности, не сможет получить доступ к административной части сайта.
Для меня вопрос о миллионе доллара здесь, почему вы хотите, чтобы пользователи фронта и бэкэнд на отдельных моделях? Они оба имеют одну и ту же работу, чтобы аутентифицировать пользователя?
В прошлом я создал несколько проектов, в которых есть пользователи и пользователи admin. Вне коробки без каких-либо изменений вы устанавливаете для пользователей-пользователей is_staff=False
для конечных пользователей и is_staff=True
для пользователей admin; который определяет, может ли пользователь получить доступ к административной части сайта, и у меня никогда не было проблем с этим подходом.
Если передний конечный пользователь (или бэкенд пользователь) желает дополнительные функциональные возможности, самым простым решением было бы расширить пользовательскую модель:
https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model
В качестве альтернативы вы могли бы пользователь ваш может создать заказную модель пользователя и используйте это для обоих.
Если вы готовы предоставить более подробную информацию, возможно, я смогу помочь в дальнейшем, но если у вас нет веских причин для использования отдельных пользовательских моделей, я бы просто придерживался одного и настраивал и расширял по мере необходимости.
Надеюсь, это поможет.