Актуализация:ограничението от 50 символа вече е 255 в Django 1.8
--
Оригинален отговор:
Току-що се сблъсках с това този следобед и имам решение (някакъв вид)
Тази публикация тук предполага, че това е грешка в Django, свързана с дължината на стойността, позволена за auth_permission. По-нататъшното копаене подкрепя тази идея, както и този билет за Django (въпреки че първоначално е свързан с MySQL).
По принцип се създава име на разрешение въз основа на verbose_name на модел плюс описателен низ за разрешение и това може да прелее до повече от 50 знака, разрешени в auth.models.Permission.name.
За да цитирате коментар за билета на Django:
Най-дългите префикси за стойността на низа в колоната auth_permission.name са „Може да променя“ и „Може да изтрива“, и двата с 11 знака. Максималната дължина на колоната е 50, така че максималната дължина на Meta.verbose_name е 39.
Едно решение би било да хакна тази колона, за да поддържа> 50 знака (в идеалния случай чрез миграция на юг, казвам, така че да е лесно повторима), но най-бързото и най-надеждното решение, за което се сетих, беше просто да направя моята изключително дълга дефиниция на verbose_name много по-кратък (от 47 знака в verbose_name до около 20). Всичко работи добре сега.