Я хочу автогенерировать имя пользователя в django

Я хочу создать собственное имя пользователя для пользователей в django

from django.contrib.auth import get_user_model
from datetime import date
from django.dispatch import receiver
from django.db.models.signals import pre_save
from django.db import models
User = get_user_model()
# auto username


@receiver(pre_save, sender=User)
def set_username(sender, instance, created, **kwargs):
    if created:
        instance.username = 'User-' + str(date.year) + '-' + str(instance.id)
        instance.save()

Итак, я создал этот файл signals.py и добавил этот файл signals в файл app.py в контексте приложения, но все равно ничего не происходит, может кто-нибудь помочь мне сгенерировать имя пользователя при заполнении формы.

это сработало для меня,

from django.contrib.auth import get_user_model
from datetime import date
from django.dispatch import receiver
from django.db.models.signals import pre_save
from django.db import models
import time
User = get_user_model()

# auto username signal


@receiver(pre_save, sender=User)
def set_username(sender, instance, created, **kwargs):
    if created:
        currentYear = time. strftime("%Y")
        instance.username = f'User-{currentYear}-{str(instance.id)}'
        instance.save()


models.signals.pre_save.connect(set_username, sender=User)

но все равно, после сохранения объекта я не могу загрузить значение в форму ввода. Достаточно для меня.

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