viernes, 16 de marzo de 2012

Error con 'Foreign Keys' en Django con MySQL

Como pude comprobar mientras intentaba cargar unos fixtures: versiones anteriores a MySQL 5.5.5 tienen problemas con restricciones de claves foráneas, ver nota en la Documentación de Django.

Podemos solucionar ello, configurando nuestra base de datos de la siguiente manera:

DATABASES = {
    'default': {

        'ENGINE': 'django.db.backends.mysql',

        'OPTIONS': {
             "init_command": "SET foreign_key_checks = 0;",
        }
    }
}

Una vez realizado esto, podemos cargar nuestros fixtures sin ningún problema:

python manage.py loaddata initial_data.json

>> Visto en: Djangosaur