Hay que separar lo que es un ModelForm y un Form
Los Form son clases que sirven para definir formularios custom
Por ejemplo necesito un formulario de contacto
entonces me creo un
class Contacto(forms.Form):
nombre = forms.charfield....
apellido = forms.charfield
etc, etc
pero Que pasa si esa "estructura" ya la tengo definida en un modelo?
como puede ser un modelo
class Contacto(models.Model):
nombre = models.charfield....
apellido = models.charfield
etc, etc
Seria "no respetar" una de las leyes de python de "no te repitas".
Es por ese detalle que se crea un clase "wrapper" de modelos para crear forms
Esa se llama ModelForms, y sirven para utilizar y aprobechar la definicion del
esquema de un Model y crear un Form a partir de el sin necesidar de volver
a describirlo.
from models import Contacto
class Contacto(ModelForm):
model = Contacto
ModelForm tiene dentro logica que inspecciona el modelo asociado
y crea los fields que necesite para mostrarse.
Creo que la cosa viene por esa confusion.
Pensa los ModelForm como un formulario Form de un Model que definiste
y a un Form como un formulario que espera puede ser cualquier cosa aparte de un Model.
Igualmente, como dice Ramiro es mejor si se pone codigo para saber bien de que se trata el asunto :)
Saludos,