Las pruebas de Django no generan errores de integridad para CharField

Si tiene el siguiente modelo Django (1.4):

from django.db import models

class SimpleModel(models.Model):
    name = models.CharField(max_length=100)

Y esta sencilla prueba:

from django.test import TestCase
from models import SimpleModel
from django.db import IntegrityError

class SimpleTest(TestCase):
    def test_integrity_error(self):
        with self.assertRaises(IntegrityError):
            m = SimpleModel()
            m.save()

Como base de datos se utiliza una base de datos sqlite3. Si ahora ejecuto las pruebas conpython manage.py test <appname> la prueba falla conAssertionError: IntegrityError not raised.

La pregunta es:¿por qué?

Por lo que yo entiendo (o se piensa que entiende) Django, los valores predeterminados para los Campos sonblank=False ynull=False por lo que supondría que guardar una instancia de modelo con el valor predeterminado (que creo que para un CharField debería ser una cadena vacía) debería fallar. Entonces, ¿por qué no sucede esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta