ModelForm is_valid () siempre devuelve falso durante la prueba unitaria

Tengo un código Django simple.

hay mi modelo y forma en modelos.py archivo:

from django.db import models
from django.forms import ModelForm

class Supplier(models.Model):
    name = models.CharField(max_length=55)
    comment = models.TextField(blank=True)

class SupplierForm(ModelForm):
    class Meta:
        model = Supplier

y ahí está mi test.py:

from django.test import TestCase
from mysite.myapp.models import Supplier, SupplierForm

class SupplierTest(TestCase):
    def test_supplier(self):
        supplier = Supplier(name="SomeSupplier")
        supplier_form = SupplierForm(instance = supplier)
        self.assertEquals(supplier_form.is_valid(), True)

Cuando empiezo a probar a través de manage.py, es válido() siempre devuelve False, pero espero True.

¿Cuáles son las razones del fracaso? es válido() en este caso ? Yo uso Django 1.3.

preguntado el 10 de mayo de 11 a las 13:05

¿imprimiste "Supplier_form.errors"? -

1 Respuestas

Todos los formularios construidos sin datos son "inválidos" porque no tienen nada que validar :-) Debe proporcionar una entrada válida al constructor del formulario:

supplier_form = SupplierForm({'name': 'NewSupplier'}, instance=supplier)

contestado el 10 de mayo de 11 a las 18:05

Gracias, esto es lo que necesito. ps Acabo de encontrar otra pregunta en stackoverflow con el mismo problema: stackoverflow.com/questions/3869791/… - mt_serg

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.