2010-09-15 9 views
63

संपादित करने की अनुमति नहीं है, मैंने थोड़ी देर पहले एक छोटा ऐप बनाया था। मैंने admin.py बनाया और व्यवस्थापक कंसोल में कक्षा जोड़ने के लिए admin.site.register(MenuEntry) का उपयोग किया। यह उस वर्ग के सामान को ठीक दिखाता है। फिर मैंने एक और ऐप पर काम करना शुरू कर दिया और सब कुछ पहले जैसा बनाया। लेकिन अब यह कहता है: आपको कुछ भी संपादित करने की अनुमति नहीं है। मैंने उन ऐप्स से और इस ऐप्स से फ़ाइलों की तुलना की और वे काफी समान दिखते हैं, इसलिए मुझे अंतर नहीं मिल रहा है और मुझे नहीं पता कि यह काम करने के लिए अब क्या करना है।Django। आपको

+0

क्या आप फ़ाइलों का एक diff डाल सकते हैं? – wheaties

+3

मैंने इस मुद्दे को हल किया। मैंने फ़ाइलों को दोबारा जांच लिया और अंतर पाया। मैं admin.autodiscover() जोड़ने के लिए भूल गया। अब यह है और सब ठीक काम करता है। धन्यवाद! –

उत्तर

134

मैंने फ़ाइलों को एक और बार चेक किया और अंतर पाया। मैं प्रोजेक्ट के urls.py में admin.autodiscover() जोड़ना भूल गया। धन्यवाद।

+8

सलाह के लिए धन्यवाद। Django 1.7 से 1.6 तक डाउनग्रेडिंग करते समय इसे जोड़ना महत्वपूर्ण है! – jnns

2

मेरे पास एक और मामला था जहां यह हुआ। मेरे पास दो मॉडलों के साथ "ट्रांसक्रिप्शन" नामक ऐप था: प्रोजेक्ट और रिकॉर्डिंग। इसे अधिकतर विकसित करने के बाद मैंने ऐप "रिकॉर्डिंग" का नाम बदलने का फैसला किया। व्यवस्थापक ऐप ने व्यवस्थापक के रूप में ठीक काम किया लेकिन किसी भी गैर-व्यवस्थापक उपयोगकर्ता को यह त्रुटि संदेश मिला। आखिर में मैंने पाया (मेरे एसक्लाइट डीबी में) तालिका django_content_type। यह इन रिकॉर्ड था:

 
id name  app_label  model 
------------------------------------- 
8 project transcription project 
9 recording transcription recording 
10 project recording  project 
11 recording recordings recording 

कहीं रास्ते में मैं जोड़ने में सफल रहे दो (लगभग - पता नहीं है क्यों "रिकॉर्डिंग" रिकॉर्ड 10 में) सही रिकॉर्ड जबकि अब गलत रिकॉर्ड बरकरार छोड़कर। व्यवस्थापक उपयोगकर्ता ने ठीक काम किया (मुझे आश्चर्य है क्यों), लेकिन किसी अन्य समूह को त्रुटि मिली। जब मैं ने auth_group_permissions को देखा तो मैंने देखा कि केवल 8 और 9 रिकॉर्ड किए गए थे और निश्चित रूप से अब "ट्रांसक्रिप्शन" नामक ऐप नहीं था। इसलिए त्रुटि।

मैंने रिकॉर्ड 10 और 11 हटा दिए और 8 और 9 के ऐप_लेबल्स को "रिकॉर्डिंग" में बदल दिया और मूडविले में खुशी हुई।

1

अपने Django को 1.7 या उससे अधिक तक अपग्रेड करें, यह समस्या स्वचालित रूप से हल हो जाएगी।

Django अपग्रेड करना:

pip install -U django 
-2

मैं बस Django के सभी वर्तमान में स्थापित संस्करण निकाला गया। फिर Django के नवीनतम संस्करण को ताजा स्थापित करें और यह

0

मुझे एक ही त्रुटि प्राप्त हो रही थी और इसे app नाम को दोबारा प्रतिक्रिया देना पड़ा क्योंकि यह उपयोग किए जाने वाले मॉड्यूल में से एक के साथ संघर्ष करता था। मेरा app's नाम admin था और मैं Django के admin का भी उपयोग कर रहा था।

लिंक को जांचें - Change app's name, इसे कैसे करें।

संबंधित मुद्दे