Pembaruan:batas 50 karakter sekarang menjadi 255 di Django 1.8
--
Jawaban asli:
Saya baru saja bertemu sore ini juga, dan saya memiliki perbaikan (semacam)
Posting ini di sini menyiratkan itu adalah bug Django yang berkaitan dengan panjang nilai yang diizinkan untuk auth_permission. Penggalian lebih lanjut mendukung gagasan itu, seperti halnya tiket Django ini (walaupun awalnya terkait dengan MySQL).
Pada dasarnya nama izin dibuat berdasarkan verbose_name model ditambah string izin deskriptif, dan itu bisa meluap ke lebih dari 50 karakter yang diizinkan di auth.models.Permission.name.
Mengutip komentar pada tiket Django:
Awalan terpanjang untuk nilai string di kolom auth_permission.name adalah "Dapat mengubah" dan "Dapat menghapus", keduanya dengan 11 karakter. Panjang maksimum kolom adalah 50 sehingga panjang maksimum Meta.verbose_name adalah 39.
Salah satu solusinya adalah meretas kolom itu untuk mendukung> 50 karakter (idealnya melalui migrasi Selatan, saya katakan, sehingga mudah diulang) tetapi perbaikan tercepat dan paling andal yang dapat saya pikirkan hanyalah membuat definisi verbose_name ekstra panjang saya jauh lebih pendek (dari 47 karakter di verbose_name menjadi sekitar 20). Semua berfungsi dengan baik sekarang.