Estoy tratando de crear una página para un sistema de inventario que permita a un usuario actualizar una cantidad de elementos recibidos.Intentar pasar un QuerySet como datos iniciales a un formset
Quiero mostrar una tabla de todos los productos y dejar que el usuario ingrese la cantidad recibida, la cual publicaré e iteraré para actualizar la base de datos.
Aquí es mi punto de vista:
def new_shipment(request):
list_of_active_products = Product.objects.filter(status=1)
ShipmentFormSet = formset_factory(ShipmentForm, extra=0)
formset = ShipmentFormSet(initial=list_of_active_products)
return render_to_response('inventory/new_shipment.html', {'formset': formset})
Aquí es mi modelo de la forma:
class ShipmentForm(forms.Form):
sku = forms.IntegerField()
product_name = forms.CharField(max_length=100)
quantity = forms.IntegerField()
Y aquí es la plantilla de formulario:
<form method="post" action="">
<table>
{% for form in formset %}
{{ form }}
{% endfor %}
</table>
<input type="submit" />
</form>
Y aquí es el error que Estoy obteniendo:
Capturado AttributeError durante la representación: el objeto 'Producto' no tiene ningún atributo 'obtener'
¿Alguien puede ayudarme con esto?
El OP usa formset_factory, mientras que el queryset solo es posible con modelformset_factory. Al menos, en alguna versión de Django, tu código no funcionará –