Есть ли способ зашифровать пароль при создании неадминского пользователя в Django Admin Panel?

Я новичок в django и делаю приложение просто для практики, поэтому я хотел попробовать создать различных пользователей, так что у меня есть пользователь admin и другие 2. Я не буду делать страницу создания пользователя, так как я хочу иметь возможность создавать пользователей только в панели администратора, так что у меня есть:

#models.py

from django.db import models

# Create your models here.
class UserType1(models.Model):
    Username = models.CharField(max_length=50, null=False)
    Password = models.CharField(max_length=50, null=False)

    class Meta:
        ordering = ('Username',)

    def __str__(self):
        return self.Username

class NormalUser(models.Model):
    Username = models.CharField(max_length=50, null=False)
    Password = models.CharField(max_length=50, null=False)

    class Meta:
        ordering = ('Username',)

    def __str__(self):
        return self.Username

А чтобы показать его в панели администратора:

#admin.py

from django.contrib import admin
from . import models

# Register your models here.
@admin.register(models.UserType1)
class UserType1Admin(admin.ModelAdmin):
    list_display = ('Username','Password')

    search_fields = ("Username", )


@admin.register(models.NormalUser)
class NormalUserAdmin(admin.ModelAdmin):
    list_display = ('Username','Password')

    search_fields = ("Username", )

Например, создание NormalUser, как вы можете видеть, вот как он сохраняется, пароль это просто простой текст:

Обычное создание пользователя

Показывает обычного пользователя

В будущем у них будут разные поля, но пока я хочу знать, есть ли способ сохранить пароль в зашифрованном виде в базе данных, как это сделано с пользователем admin. Есть ли простой способ сохранить пароль в зашифрованном виде?

Спасибо.

PD: Если что-то непонятно, не стесняйтесь спрашивать меня о чем угодно.

Зацените это!

https://docs.djangoproject.com/en/3.2/topics/auth/passwords/

Управление паролями в Django

Управление паролями - это то, что, как правило, не следует изобретать без необходимости, и Django стремится предоставить безопасный и гибкий набор инструментов для управления паролями пользователей. Этот документ описывает, как Django хранит пароль, как можно настроить хэширование хранилища и некоторые утилиты для работы с хэшированными паролями.

Django предоставляет гибкую систему хранения паролей и по умолчанию использует PBKDF2.

Вернуться на верх