Advertisement
Guest User

Problema

a guest
Jul 17th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. ####views.py
  2. def formv_ordencompra(request):
  3. OrdenCompraFormSet = modelformset_factory(OrdenCompraProducto, form=OrdenCompraForm, extra=10)
  4. if request.method == 'POST':
  5. print('1')
  6. formset = OrdenCompraFormSet(request.POST)
  7. if formset.is_valid():
  8. formset_obj = formset.save(commit=False)
  9.  
  10. ordencompra = OrdenCompra.objects.create()
  11.  
  12. for form_obj in formset_obj:
  13. form_obj.orden = ordencompra
  14. form_obj.save()
  15. messages.success(request, f'La orden fue cargada!')
  16. return redirect('.')
  17. else:
  18. print('2')
  19. formset = OrdenCompraFormSet()
  20. return render(request, 'webapp/formularios/ordencompra.html', {'formset': formset})
  21.  
  22.  
  23. ####urls.py
  24. path(formulario + 'ordencompra/', views.formv_ordencompra, name='form-ordencompra'),
  25.  
  26. ####models.py
  27. class OrdenCompra(models.Model):
  28. fecha_emision = models.DateTimeField(default=datetime.datetime.today())
  29.  
  30. def __str__(self):
  31. return 'Orden N°: %s' % (self.id)
  32.  
  33.  
  34. class OrdenCompraProducto(models.Model):
  35. orden = models.ForeignKey(OrdenCompra, on_delete=models.PROTECT)
  36. tipo_producto = models.ForeignKey(TipoProducto, on_delete=models.PROTECT)
  37. cantidad = models.IntegerField()
  38. fecha_entrega = models.DateField(blank=True)
  39. proveedor_surgerido = models.CharField(max_length=50, blank=True)
  40.  
  41. def __str__(self):
  42. return 'Producto: %s - Cantidad: %s' % (self.tipo_producto, self.cantidad)
  43.  
  44.  
  45. ###forms.py
  46. class OrdenCompraForm(forms.ModelForm):
  47. class Meta:
  48. model = OrdenCompraProducto
  49. fields = [
  50. 'tipo_producto',
  51. 'cantidad',
  52. 'fecha_entrega',
  53. 'proveedor_surgerido',
  54. ]
  55. widgets = {
  56. 'fecha_entrega': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}),
  57. }
  58.  
  59.  
  60. ####HTML
  61.  
  62. {% extends 'webapp/base.html' %}
  63. {% load crispy_forms_tags %}
  64. {% load static %}
  65. {% block content_principal %}
  66.  
  67. <form class="form-horizontal" method="POST" action="">
  68. {% csrf_token %}
  69. {{ formset.management_form }}
  70.  
  71. <div class="">
  72. {% for form in formset %}
  73.  
  74. <div class="input-group">
  75. <div class="input-group-append">
  76. <button class="btn btn-success add-form-row">
  77. </div>
  78.  
  79. {{form|crispy}}
  80.  
  81. </div>
  82. <hr>
  83.  
  84. {% endfor %}
  85.  
  86. <div class="form-group">
  87. <button class="btn btn-outline-info" type="submit">Cargar</button>
  88. </div>
  89. </div>
  90. </form>
  91.  
  92.  
  93. </div>
  94.  
  95.  
  96. {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement