Aggiornamento:il limite di 50 caratteri è ora 255 in Django 1.8
--
Risposta originale:
L'ho incontrato solo questo pomeriggio e ho una soluzione (una specie)
Questo post qui implica che si tratta di un bug di Django che ha a che fare con la lunghezza del valore consentito per auth_permission. Ulteriori ricerche supportano questa idea, così come questo ticket Django (anche se inizialmente è correlato a MySQL).
Fondamentalmente è che un nome di autorizzazione viene creato in base al verbose_name di un modello più una stringa di autorizzazione descrittiva e che può superare i 50 caratteri consentiti in auth.models.Permission.name.
Per citare un commento sul biglietto Django:
I prefissi più lunghi per il valore della stringa nella colonna auth_permission.name sono "Può cambiare" e "Può eliminare", entrambi con 11 caratteri. La lunghezza massima della colonna è 50, quindi la lunghezza massima di Meta.verbose_name è 39.
Una soluzione sarebbe quella di hackerare quella colonna per supportare> 50 caratteri (idealmente tramite una migrazione a sud, dico, in modo che sia facilmente ripetibile) ma la soluzione più rapida e affidabile a cui potevo pensare era semplicemente quella di creare la mia definizione verbose_name extra-lunga molto più breve (da 47 caratteri nel verbose_name a circa 20). Adesso funziona tutto bene.