Ho problemi a caricare i dispositivi Django nel mio database MySQL a causa di conflitti di tipo di contenuto. Per prima cosa ho provato a scaricare i dati solo dalla mia app in questo modo:
./manage.py dumpdata escola > fixture.json
ma continuavo a riscontrare problemi con le chiavi esterne mancanti, perché la mia app "escola" utilizza tabelle da altre applicazioni. Ho continuato ad aggiungere altre app finché non sono arrivato a questo:
./manage.py dumpdata contenttypes auth escola > fixture.json
Ora il problema è la seguente violazione del vincolo quando provo a caricare i dati come dispositivo di prova:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Sembra che il problema sia che Django stia cercando di ricreare dinamicamente tipi di contenuto con diversi valori di chiave primaria che sono in conflitto con i valori di chiave primaria dal dispositivo. Questo sembra essere lo stesso del bug documentato qui: http://code.djangoproject.com/ticket/7052
Il problema è che la soluzione alternativa consigliata è scaricare l'app contenttypes che sto già facendo !? Cosa succede? Se fa qualche differenza, ho alcune autorizzazioni del modello personalizzato come documentato qui: http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
-e contenttypes -e auth.permission
con--natural
? Ho appena provato senza l'--natural
opzione e ha funzionato. Anche la documentazione qui dice che si dovrebbe usare questa opzione se DUMPINGauth.permission
econtenttypes
.