Hola,
Tengo una aplicación web Django donde he creado un formulario usando ModelForm, hay un campo del modelo que lo excluyo en forms.py pues no quiero que aparezca en pantalla, sin embargo desde views.py le establezco un valor, pero al hacerlo no funciona HttpResponseRedirect.
Adjunto el código fuente de la función que me da problemas.
Primero el código original, donde no se establece ningún valor, en este caso el redirect funciona perfectamente:
Código Python:
Ver originaldef Item_create(request):
context = {'next': '/Item/create/'}
form = context['form'] = ItemForm(request.POST or None)
if not form.is_valid():
return render(request, 'Item-edit.html', context)
Item_name = request.POST['Item_name']
if Item.objects.filter(Item_name=Item_name).exists():
context['messages'] = "Item '{}' already exists".format(item)
return render(request, 'Item-edit.html', context)
Item(**form.cleaned_data).save()
return HttpResponseRedirect("/Item/list/")
Ahora el código modificado, donde se establece un valor para el campo test, en este caso el redirect no funciona:
Código Python:
Ver originaldef Item_create(request):
context = {'next': '/Item/create/'}
form = context['form'] = ItemForm(request.POST or None)
if not form.is_valid():
return render(request, 'Item-edit.html', context)
item = form.save(commit=False)
item.test = datetime.datetime.now()
item.save()
Item_name = request.POST['Item_name']
if Item.objects.filter(Item_name=Item_name).exists():
context['messages'] = "Item '{}' already exists".format(item)
return render(request, 'Item-edit.html', context)
Item(**form.cleaned_data).save()
return HttpResponseRedirect("/Item/list/")
Muchas gracias.