Opdatering:grænsen på 50 tegn er nu 255 i Django 1.8
--
Originalt svar:
Jeg stødte også lige på dette i eftermiddags, og jeg har en (en slags) rettelse
Dette indlæg her antydede, at det er en Django-fejl, der har at gøre med længden af den tilladte værdi for auth_permission. Yderligere gravearbejde understøtter denne idé, og det samme gør denne Django-billet (selvom den oprindeligt er MySQL-relateret).
Det er dybest set, at et tilladelsesnavn oprettes baseret på verbose_name på en model plus en beskrivende tilladelsesstreng, og som kan flyde over til mere end de 50 tilladte tegn i auth.models.Permission.name.
For at citere en kommentar til Django-billetten:
De længste præfikser for strengværdien i kolonnen auth_permission.name er "Can change " og "Can delete ", begge med 11 tegn. Kolonnens maksimale længde er 50, så den maksimale længde af Meta.verbose_name er 39.
En løsning ville være at hacke den kolonne til at understøtte> 50 tegn (ideelt via en syd-migrering, siger jeg, så den let kan gentages), men den hurtigste, mest pålidelige løsning, jeg kunne komme i tanke om, var simpelthen at lave min ekstra lange verbose_name-definition meget kortere (fra 47 tegn i verbose_name til omkring 20). Alt fungerer fint nu.