Как я могу зарегистрировать 2 категории пользователей и сохранить статус в базе данных?
Вот как выглядит мой текущий код, но статус не сохраняется в базе данных. Даже если в моделях я ставлю default = 'Admin' в базе данных он отображается в статусе: '-'. Почему? Я хочу добавить статус в базу данных, чтобы знать, к какой категории принадлежат пользователи
models.py
STATUS_CHOICES = Choices(
('Client', 'Client'),
('Master', 'Master')
)
class User(AbstractUser):
email = models.EmailField(error_messages={
'unique': 'A user is already registered with this email!'},
verbose_name='email address',
max_length=255,
unique=True,
)
confirmed_password = models.CharField(
max_length=128, verbose_name='confirmed_password')
status = models.CharField(
max_length=100, choices=STATUS_CHOICES, verbose_name='status', default="Admin")
username = models.CharField(max_length=254)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['username']
forms.py
class EditUserForm(forms.ModelForm):
class Meta:
model = User
fields = ('email', 'password', 'confirmed_password', 'username')
views.py
def RegisterUser(request):
master = EditUserForm(request.POST)
if request.POST:
if master.is_valid() and request.POST["status"] == "Master":
master.save()
messages.success(request, "It was successfully registered master")
return render(request, "registration/index.html")
elif master.is_valid() and request.POST["status"] == "Client":
master.save()
messages.success(request, "It was successfully registered CLIENT")
return render(request, "registration/index.html")
else:
return render(request, "registration/register.html", {})
else:
master = EditUserForm()
return render(request, "registration/register.html", {'master': master})
register.html
<h1>Registration Page</h1>
<form action="" method="post">
{% csrf_token %}
{{ master.as_p }}
<input type="submit" name="status" value="Master" />
<input type="submit" name="status" value="Client" />
</form>