Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!