Созданный пользователь не проходит аутентификацию Djnago

Мне нужно создать пользователя через админ панель. Что бы он потом мог зайти на сайт(в будущем планируется разграничение доступа) Я наследуюсь от модели AbstractUser

models.py

class AdvUser(AbstractUser):

    position = models.ForeignKey('JobTitle', on_delete=models.PROTECT,
                                 max_length=100,  verbose_name="Должность работника",
                                 related_name='positions',null=True)

    def __str__(self):
        return f" {self.first_name} {self.last_name}"

    class Meta:
        verbose_name = 'Пользователь'
        verbose_name_plural = 'Пользователи'


class JobTitle(models.Model):  # Должность работника
    position = models.CharField('Название', max_length=100, blank=True,null=True)

    def __str__(self):
        return f" {self.position}"

    class Meta:
        verbose_name = 'Должность работника'
        verbose_name_plural = 'Должности работников'

В settings.py

AUTH_USER_MODEL = 'logic_TORA.AdvUser'

views.py

def loginPage(request):

    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(request, username=username, password=password)
        if user is not None:
            login(request, user)
            return redirect('logic_TORA:home')
        else:
            # messages.info(request, 'Username or password incorrect')

            print('не вошел')
            print(user)
    context = {}
    return render(request, 'registration/login.html', context)


def logout_request(request):
    context = {}
    return render(request, "registration/logged_out.html", context)


def home(request):
    context = {}
    return render(request, "home.html", context)

admin.py

@admin.register(AdvUser)
class AdminViewAdvUser(admin.ModelAdmin):
    list_display = ('username', 'first_name', 'last_name', 'position',)
    search_fields = ('first_name',)
    list_filter = ('position', 'groups')


@admin.register(JobTitle)
class AdminViewJobTitle(admin.ModelAdmin):
    list_display = ('position',)

urls.py

app_name = 'logic_TORA'


urlpatterns = [

    path("login/", loginPage, name="login"),
    path("logout/", logout_request, name='logout'),
    path('', home, name='home'),

login.html

<h1>Login</h1>
{% load static %}

{% block content %}
<main>
    <div class="p-3">
{% if user.is_authenticated %}
<p>Вы уже выполнили вход</p>


{% else %}
<form method="POST" action="">
    {% csrf_token %}

        <input type="text" name="username" >
        <input type="password" name="password" >
        <input type="submit" value="login">
</form>
{%endif%}
    </div></main>
{% endblock %}

Я могу зайти от суперюзера на сайт(в админку и так захожу ,всё нормально) и меня редиректит на home.html Но когда я создаю пользователя в админ панели и через него пытаюся зайти на сайт(не в админку!) то форма обновляется и ничего не происходит. Во views я написал print(user) в котором мне после ввода пароля в консоли пишет None. Я не могу понять почему так происходит. Я думаю это может быть связано с тем что я наследуюсь от AbstractUser но не вижу связи. помогите пожалуйста.

Я переписал модели и все получилось.

models.py

class UserProfile(models.Model):
    user = models.OneToOneField(User, verbose_name='Пользователь',on_delete=models.PROTECT)
    group = models.OneToOneField(Group, verbose_name='Группа', on_delete=models.PROTECT)
    position = models.OneToOneField('JobTitle', on_delete=models.PROTECT,
                                 max_length=100,  verbose_name="Должность работника",
                                 related_name='positions', null=True)


class JobTitle(models.Model):  # Должность работника
    position = models.CharField('Название', max_length=100, blank=True,null=True)

    def __str__(self):
        return f" {self.position}"

    class Meta:
        verbose_name = 'Должность работника'
        verbose_name_plural = 'Должности работников'
Вернуться на верх