Skip to content

Commit

Permalink
VideoTutorial No. 22 ModelForms
Browse files Browse the repository at this point in the history
Utilizamos ModelForms para almacenar informacion de objetos. Un saludo.
  • Loading branch information
alexdzul committed Mar 26, 2013
1 parent 6fcc525 commit 2145df9
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 3 deletions.
10 changes: 9 additions & 1 deletion demo/apps/ventas/forms.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
from django import forms
from demo.apps.ventas.models import producto

class addProductForm(forms.ModelForm):
class Meta:
model = producto
exclude = {'status',}

"""
class addProductForm(forms.Form):
nombre = forms.CharField(widget=forms.TextInput())
descripcion = forms.CharField(widget=forms.TextInput())
Expand All @@ -8,4 +15,5 @@ class addProductForm(forms.Form):
stock = forms.IntegerField(required=True)
def clean(self):
return self.cleaned_data
return self.cleaned_data
"""
40 changes: 38 additions & 2 deletions demo/apps/ventas/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,40 @@
from demo.apps.ventas.models import producto
from django.http import HttpResponseRedirect


def edit_product_view(request,id_prod):
info = "iniciado"
prod = producto.objects.get(pk=id_prod)
if request.method == "POST":
form = addProductForm(request.POST,request.FILES,instance=prod)
if form.is_valid():
edit_prod = form.save(commit=False)
form.save_m2m()
edit_prod.status = True
edit_prod.save() # Guardamos el objeto
info = "Correcto"
return HttpResponseRedirect('/producto/%s/'%edit_prod.id)
else:
form = addProductForm(instance=prod)
ctx = {'form':form,'informacion':info}
return render_to_response('ventas/editProducto.html',ctx,context_instance=RequestContext(request))

def add_product_view(request):
info = "iniciado"
if request.method == "POST":
form = addProductForm(request.POST,request.FILES)
if form.is_valid():
add = form.save(commit=False)
add.status = True
add.save() # Guardamos la informacion
form.save_m2m() # Guarda las relaciones de ManyToMany
info = "Guardado satisfactoriamente"
return HttpResponseRedirect('/producto/%s'%add.id)
else:
form = addProductForm()
ctx = {'form':form,'informacion':info}
return render_to_response('ventas/addProducto.html',ctx,context_instance=RequestContext(request))
"""
def add_product_view(request):
info = "Inicializando"
if request.user.is_authenticated():
Expand Down Expand Up @@ -32,7 +66,8 @@ def add_product_view(request):
return render_to_response('ventas/addProducto.html',ctx,context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/')

"""
"""
def edit_product_view(request,id_prod):
info = ""
p = producto.objects.get(id=id_prod)
Expand Down Expand Up @@ -61,4 +96,5 @@ def edit_product_view(request,id_prod):
'stock':p.stock,
})
ctx = {'form':form,'info':info,'producto':p}
return render_to_response('ventas/editProducto.html',ctx,context_instance=RequestContext(request))
return render_to_response('ventas/editProducto.html',ctx,context_instance=RequestContext(request))
"""
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2145df9

Please sign in to comment.