Aktualizace:limit 50 znaků je nyní 255 v Django 1.8
--
Původní odpověď:
Zrovna jsem se s tím dnes odpoledne setkal a mám opravu (jakéhosi)
Tento příspěvek naznačoval, že jde o chybu Django, která souvisí s délkou hodnoty povolené pro auth_permission. Další kopání tuto myšlenku podpoří, stejně jako tento lístek Django (i když zpočátku souvisí s MySQL).
V zásadě jde o to, že název oprávnění je vytvořen na základě verbose_name modelu plus popisného řetězce oprávnění, a to může překročit více než 50 znaků povolených v auth.models.Permission.name.
Chcete-li citovat komentář k lístku Django:
Nejdelší předpony pro hodnotu řetězce ve sloupci auth_permission.name jsou "Can change" a "Can delete", obě mají 11 znaků. Maximální délka sloupce je 50, takže maximální délka Meta.verbose_name je 39.
Jedním z řešení by bylo hacknout tento sloupec, aby podporoval> 50 znaků (v ideálním případě prostřednictvím migrace na jih, říkám, aby to bylo snadno opakovatelné), ale nejrychlejší a nejspolehlivější oprava, kterou jsem mohl myslet, bylo jednoduše vytvořit svou extra dlouhou definici verbose_name mnohem kratší (od 47 znaků ve verbose_name na přibližně 20). Vše nyní funguje dobře.