Django - Как установить значение по умолчанию для первичного ключа

Я создал пользовательскую модель User с помощью AbstractBaseUser.

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

Например, '2022001' - '2022002' - '2022003' и так далее.

Я искал на stack overflow и других источниках, и некоторые люди предлагают определить функцию в пользовательской модели класса пользователя, но у меня не получилось сделать это.

существует ли простой способ генерировать автоинкрементное число, начиная с пользовательского числа из models.py ?

или Возможно ли мне давать определенное число в файле views.py, когда новые пользователи регистрируются?

вот моя функция регистрации. из views.py

def register_user(request):
    
    
    
    
    
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data['username']
            password = form.cleaned_data['password1']
            user = authenticate(username=username, password=password)
            login(request, user)
            messages.success(request, ("You have successfully registered."))
            return redirect('home')
    else:
        form = RegistrationForm()


    return render(request, 'register/register_user.html', {'form' : form})

Спасибо

user = authenticate(id=2022001 ,username=username, password=password) если вы хотите изменить свой первичный ключ, этот метод может помочь. попробуйте это.....

добавьте следующее поле к вашей модели:

id = models.BigIntegerField(primary_key=True)

теперь вы придаете ему любое значение, какое захотите

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