Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

221
Visualizações
userpost () obtuvo un argumento de palabra clave inesperado 'instancia'

Estoy practicando un pequeño proyecto CRUD en django.

aquí está el views.py de crudproject

 from django.contrib import messages from django.shortcuts import get_object_or_404, redirect, render from .models import userpost from .forms import customerform #creating postdate def create(request): form= customerform() if request.method=='POST': Form=customerform(request.POST) if Form.is_valid(): Form.save() Form={} context ={'form':form} return render(request,'create.html',context) #reading the post def read(request): user_data=userpost.objects.all() context ={ 'user_data':user_data} return render(request,'read.html',context) #Updating the post def update(request,pk): get_user_data=get_object_or_404(userpost,pk=pk) form= userpost(instance=get_user_data) if request.method=='POST': form=userpost(request.POST,isinstance=get_user_data) if form.is_valid(): form.save() messages.success(request,'User data has been Updated') return redirect('read') context={'form':form} return render(request,'update.html',context) #deleting the post def delete(request,pk): get_user=get_object_or_404(userpost,pk=pk) get_user.delete() messages.error(request,'User deleted') return redirect('/')

urls.py del proyecto crud

 from django.urls import path from .import views urlpatterns = [ path('new/',views.create,name='create'), path('update<int:pk>/',views.update,name='update'), path('delete/<int:pk>/',views.delete,name='delete'), path('',views.read,name='read') ]

pero el servidor dice

 TypeError at /update8/ userpost() got an unexpected keyword argument 'instance' Request Method: GET Request URL: http://localhost:8000/update8/ Django Version: 3.2.8 Exception Type: TypeError Exception Value: userpost() got an unexpected keyword argument 'instance' Exception Location: C:\Users\ITS\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\base.py, line 503, in __init__

Por favor, ayúdame a resolver esto. Sería de mucha ayuda si me das una pequeña explicación. Gracias por adelantado

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En su vista de update , usa la publicación de userpost como modelo, no como un formulario. Por lo tanto, debería (y quizás primero definir) un formulario que funcione en una userpost de usuario, entonces:

 def update(request,pk): get_user_data = get_object_or_404(userpost,pk=pk) if request.method=='POST': # ↓ work with a form form = UserPostForm(request.POST, request.FILES, instance=get_user_data) if form.is_valid(): form.save() messages.success(request,'User data has been Updated') return redirect('read') else: # ↓ work with a form form= UserPostForm(instance=get_user_data) context={'form':form} return render(request,'update.html',context)

En urls.py , también olvidó una barra inclinada ( / ) entre la update y la clave principal:

 urlpatterns = [ # … # slash ↓ path('update/<int:pk>/',views.update,name='update'), # … ]
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda