Quiero usar ModelFormset para actualizar los datos de la tabla. Cada fila en la imagen contiene un formulario con dos campos y un campo en el formulario requerido.
No quiero usar un formulario vacío para crear un nuevo objeto y simplemente puedo eliminarlo de la representación en la plantilla, y el método de guardado de subclase para guardar solo formularios con datos iniciales de queryset:
class MyFormSet(BaseModelFormSet):
def save(self, commit=True):
if not commit:
self.saved_forms = []
return self.save_existing_objects(commit)
pero todavía se necesita validar un formulario vacío, y obtuve un error de validación en el campo requerido.
¿Cómo puedo deshabilitar el uso / validación del formulario "nuevo objeto"?
Respuestas
0 para la respuesta № 1Usuario el extra parámetro
El número de formularios vacíos que se muestran está controlado por el parámetro extra. Por defecto, formset_factory () define una forma extra; El siguiente ejemplo no mostrará formularios en blanco:
modelformset_factory(model, formset=MyFormSet, extra=1)