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)
теперь вы придаете ему любое значение, какое захотите