2015-10-12 3 views
8

मेरे पास एक, बी, सी ऐप्स के साथ एक मौजूदा django प्रोजेक्ट है। उन सभी को सेटिंग फाइल में स्थापित ऐप्स में शामिल किया गया है। उनके पास अपने स्वयं के मॉडल हैं जिनके लिए माइग्रेशन पहले ही चल चुके हैं। अब, यदि मैं एक नया ऐप डी जोड़ता हूं, इसमें एक मॉडल जोड़ें, इसे इंस्टॉल किए गए ऐप्स में शामिल करें और python manage.py makemigrations का उपयोग करके एक कंबल makemigrations चलाने का प्रयास करें मुझे no changes detected संदेश मिलता है। व्यवहार नहीं होना चाहिए जैसे कि यह एक नया ऐप पता लगाता है और इसके लिए प्रारंभिक माइग्रेशन चलाता है? मुझे पता है कि मैं इसे python manage.py makemigrations d का उपयोग करके मैन्युअल रूप से कर सकता हूं लेकिन मैं इसे python manage.py makemigrations कमांड का उपयोग करके करना चाहता हूं। क्या कोई इस व्यवहार के लिए स्पष्टीकरण प्रदान कर सकता है?Django 1.8, नए जोड़े गए ऐप का पता लगाने के लिए makemigrations

+0

आप पूरी तरह से सुनिश्चित करें कि आप '' installed_apps' को d' जोड़ा हैं? – mccc

+0

@ एमसीसीसी हां। मैं अपने सहयोगी की मशीन पर उसी परिदृश्य को पुन: पेश करने में सक्षम था और साथ ही –

+0

क्या आपने 'startapp' कमांड का उपयोग करके ऐप बनाया था? या आपने अभी 'डी' फ़ोल्डर बनाया है? –

उत्तर

17

यदि आप मैन्युअल रूप से कोई नया ऐप बनाते हैं और इसे इसके अंदर माइग्रेशन मॉड्यूल को जोड़ने के बिना INSTALLED_APPS सेटिंग में जोड़ते हैं, तो सिस्टम परिवर्तन नहीं उठाएगा क्योंकि इसे माइग्रेशन कॉन्फ़िगर किया गया ऐप नहीं माना जाता है।

स्टार्टअप कमांड स्वचालित रूप से माइग्रेशन मॉड्यूल को आपके नए ऐप के अंदर जोड़ता है।

startapp संरचना

foo/ 
    __init__.py 
    admin.py 
    models.py 
    migrations/ 
     __init__.py 
    tests.py 
    views.py 
+1

के बाद ऐप नाम निर्दिष्ट न करें मैं इसे समझता हूं और इससे सहमत हूं। मेरा सवाल यह है कि, मैं स्टार्टअप का उपयोग करके मैन्युअल रूप से ऐप जोड़ता हूं (इसके अंदर माइग्रेशन मॉड्यूल स्वचालित रूप से स्टार्टएप द्वारा जोड़ा जाता है) और उसी ऐप में models.py के अंदर एक साधारण मॉडल शामिल करता है क्यों एक पायथन प्रबंधन.py makemigrations कमांड निष्पादित नहीं करता है परिवर्तनों को चुनने के ठीक बाद एक मॉडल के साथ एक नया ऐप जोड़ा गया है और एक संबंधित टेबल बना है? –

+0

मैं आपके परिदृश्य को पुन: उत्पन्न नहीं कर सकता। मेरे मामले में, मैन्युअल रूप से या स्टार्टअप कमांड के माध्यम से, एक नया एप्लिकेशन जोड़ते समय, इन स्थितियों के तहत परिवर्तन अपेक्षित के रूप में उठाए जाते हैं। –

+0

वैसे भी धन्यवाद। तर्कसंगत रूप से ऐसा नहीं होना चाहिए, मुझे नहीं पता कि इसका कारण क्या हो सकता है। –

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