В файле forms.py я создал виджет application_status и добавил его в customerForm. это как показано ниже:
APPLICATION_STATUS = [
('new', 'New'),
('processing', 'Processing'),
('reject', 'Rejected'),
('complete', 'Completed'),
]
class CustomerForm(forms.ModelForm):
application_status = forms.CharField(label='What is your application status?',
widget=forms.Select(choices=APPLICATION_STATUS))
# email_one = forms.EmailField()
class Meta:
model = Customer
fields = ('application_status')
А затем в view.py я сохраняю выбранное значение в базе данных, но оно сохраняет имя выбранного параметра, а не отображаемое значение. Например, я выбираю опцию «Обработка» и хочу, чтобы значение «Обработка» было сохранено в базе данных. Но я вижу, что «обработка» сохранена. Код как ниже:
def customer_new(request):
if request.method == "POST":
form = CustomerForm(request.POST)
if form.is_valid():
customer = form.save(commit=False)
customer.status = request.POST.get('application_status')
customer.save()
return redirect('customer_detail', pk=customer.pk)
else:
form = CustomerForm()
return render(request, 'customer_edit.html', {'form': form})
Пожалуйста, помогите немного.