[Fixed]-Trying to pass a QuerySet as initial data to a formset

15👍

You can also use the queryset argument. This should work:

formset = ShipmentFormSet(queryset=list_of_active_products)

cf. https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#changing-the-queryset

👤gellej

19👍

From the docs it looks like you have to pass in a list of dictionaries as the initial data, rather than a QuerySet:

Also note that we are passing in a list of dictionaries as the initial data.

You may want to change your initial query to:

list_of_active_products = Product.objects.filter(status=1).values()

which will return a list of dictionaries rather than model-instance objects.

Using initial data with a formset:
https://docs.djangoproject.com/en/dev/topics/forms/formsets/#using-initial-data-with-a-formset

ValuesQuerySet:
https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.values

Leave a comment