¿Por qué está sucediendo esto ?
<h1>views.py</h1>
obteniendo algo diferente
en la salida en lugar de los valores presentes en él
Estoy intentando pero no obtengo respuestas
por favor, dame algunas sugerencias
Creo que ocurre un error en :(instance=Task)
from django.shortcuts import render
from django.http import *
from MYapp.models import *
from .form import *
def venue(request):
venue_list = Task.objects.all()
return render(request, 'MYapp/venue.html', {'venue_list': venue_list})
def navebar(request):
return render(request, 'MYapp/navebar.html')
def db(request, db_id):
venues = Task.objects.get(pk=db_id)
return render(request, 'MYapp/db.html', {'venues': venues})
def search(request):
if request.method == "POST":
searched = request.POST.get('searched', False)
Tasks = Task.objects.filter(firstname__contains=searched)
return render(request, 'MYapp/search.html', {'searched':searched, 'Tasks':Tasks})
else:
return render(request, 'MYapp/search.html', {})
def update(request, db_id):
venues = Task.objects.get(pk=db_id)
form = TaskForm(request.POST or None, instance=Task)
return render(request, 'MYapp/update.html', {'venues': venues, 'form':form})
davy.ai
Parece que el error ocurre en la línea “form = TaskForm(request.POST or None, instance=Task)” en la función “update”.
El problema es que “Task” (que es un objeto de modelo) se está utilizando como parámetro de instancia para TaskForm. El parámetro de instancia correcto debería ser “venues” (que es el objeto recuperado del modelo Task utilizando la clave primaria “db_id”).
Para solucionar el error, reemplace “instance=Task” con “instance=venues” en la línea mencionada anteriormente:
Esto debería completar correctamente el formulario con los valores presentes en el objeto “venues”.