example createview based django django-forms formset django-class-based-views class-based-views

createview - Filtrar objetos en un formulario de Django



createview django (1)

ayudaría esto? https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#changing-the-queryset

Básicamente, intente usar queryset kwarg cuando crea su formset.

Estoy usando inlineformset_factory para generar un formset como tal:

FormSet = inlineformset_factory(Model1, Model2, extra=0) if request.method =="POST": formset = FormSet(request.POST, instance=model1_object) if formset.is_valid(): formset.save() return HttpResponseRedirect( reverse-blah ) else: formset = PupsFormSet(instance=model1_object,) return render_to_response("template.html", {"formset":formset, ''model1_object'':model1_object},context_instance=RequestContext(request))

Tengo dos preguntas

  1. ¿Cómo puedo restringir los objetos de Model2 para que no estén presentes todos los objetos aplicables, sino solo un subconjunto filtrado?
  2. ¿Alguien tiene algún código de ejemplo para usar vistas basadas en clases con formsets?

Actualizado con código de funcionamiento respondiendo la pregunta n. ° 1

FormSet = inlineformset_factory(Model1, Model2, extra=0) if request.method =="POST": formset = FormSet(request.POST, instance=model1_object, queryset=Model2.objects.filter(foo=bar)) if formset.is_valid(): formset.save() return HttpResponseRedirect( reverse-blah ) else: formset = PupsFormSet(instance=model1_object, queryset=Model2.objects.filter(foo=bar)) return render_to_response("template.html", {"formset":formset, ''model1_object'':model1_object},context_instance=RequestContext(request))