अपडेट करें:Django 1.8 में 50 चार सीमा अब 255 है
--
मूल उत्तर:
मुझे आज दोपहर भी सामना करना पड़ा, और मेरे पास एक फिक्स (प्रकार का) है
यह पोस्ट यहाँ निहित है कि यह एक Django बग है जो auth_permission के लिए अनुमत मान की लंबाई के साथ है। आगे की खुदाई उस विचार का समर्थन करती है, जैसा कि यह Django टिकट (भले ही यह शुरुआत में MySQL से संबंधित है)।
यह मूल रूप से है कि एक मॉडल के वर्बोज़_नाम और एक वर्णनात्मक अनुमति स्ट्रिंग के आधार पर एक अनुमति नाम बनाया जाता है, और यह auth.models.Permission.name में अनुमत 50 से अधिक वर्णों तक बह सकता है।
Django टिकट पर एक टिप्पणी उद्धृत करने के लिए:
<ब्लॉककोट>कॉलम auth_permission.name में स्ट्रिंग मान के लिए सबसे लंबे समय तक उपसर्ग "बदल सकते हैं" और "हटा सकते हैं", दोनों 11 वर्णों के साथ हैं। कॉलम की अधिकतम लंबाई 50 है इसलिए Meta.verbose_name की अधिकतम लंबाई 39 है।
एक समाधान यह होगा कि उस कॉलम को समर्थन करने के लिए हैक किया जाए> 50 वर्ण (आदर्श रूप से दक्षिण प्रवास के माध्यम से, मैं कहता हूं, ताकि यह आसानी से दोहराने योग्य हो) लेकिन सबसे तेज़, सबसे विश्वसनीय फिक्स जो मैं सोच सकता था वह बस मेरी अतिरिक्त-लंबी वर्बोज़_नाम परिभाषा बनाना था बहुत छोटा (वर्बोज़_नाम में 47 वर्णों से लेकर लगभग 20 तक)। अब सब ठीक चल रहा है।