मैंने एक ट्यूटोरियल के बाद Django के साथ एक ऐप (पहला ऐप) बनाया। और मैंने अंत में AWS EC2, nginx, uwsgi, mySQL और Django के साथ एक वेब सर्वर पूरा किया।

फिर मैंने एक नया ऐप (दूसरा ऐप) बनाने की कोशिश की। लेकिन मैंने पाया कि मैंने पहले ऐप के model.py में खाता जानकारी (उपयोगकर्ता मॉडल) डाल दी है। इसके अलावा, मैंने पहले ऐप के मॉडल और दृश्य आदि में अधिसूचना कार्यों की तरह कुछ जोड़ा ... मैं पहले ऐप के खाते और अधिसूचना के साथ नया ऐप बनाना चाहता हूं, लेकिन मुझे यकीन नहीं है कि एक ऐप को दो ऐप में विभाजित करना संभव है।

मैं एक साइट (प्रोजेक्ट) बनाना चाहता हूं जिसमें तीन ऐप्स हैं जो खाता ऐप्स (उपयोगकर्ता मॉडल, अधिसूचना इत्यादि सहित), पहला ऐप और दूसरा ऐप हैं। फिर, मैंने सोचा कि दूसरा ऐप पहले ऐप की तरह उपयोगकर्ता की जानकारी का उपयोग कर सकता है। (क्या कोई बेहतर तरीका है?)

मेरे पास सिर्फ एक प्रश्न है, मैं बिना किसी डेटा हानि के पहले ऐप से खाता ऐप को कैसे विभाजित कर सकता हूं। वास्तव में मुझे डर है कि अगर मैं कोई समस्या करता हूं, तो उसे पुनर्स्थापित करना बहुत कठिन है। (मॉडल, देखें, यूआरएल, ...)

मेरा मॉडल अनुसरण कर रहा है

class Profile(models.Model) # I'd like to split into account app
class Recruit(models.Model) # stay in first app
class Apply(models.Model) # stay in first app
class Comment(models.Model) # stay in first app

अगर मुझे कुछ सुझाव या संदर्भ मिल सकते हैं तो मैं सराहना करूंगा। धन्यवाद।

0
HS Park 4 अप्रैल 2018, 17:47

3 जवाब

सबसे बढ़िया उत्तर
  1. नया ऐप बनाएं
  2. अपने मॉडलों को उनके पास ले जाएं
  3. माइग्रेशन और नकली माइग्रेट करें migrate --fake
  4. डेटाबेस में जाएं और तालिकाओं का नाम बदलें - सामग्री प्रकार - अनुमतियां मदद के लिए मेरे द्वारा इसका उपयोग करें मॉडल बदलने के लिए GITHUB स्क्रिप्ट नाम
  5. मुझे सूचित करें कि क्या यह आपके साथ अच्छा काम करता है और उम्मीद न करें कि यह सीधे आगे होगा
3
A.Raouf 4 अप्रैल 2018, 15:25

आप अन्य ऐप से अपने नए ऐप में फ़ंक्शन, मॉडल आदि आयात कर सकते हैं।

यहां मॉडल के साथ एक उदाहरण

from nameoffirstapp.models import YourModelName as firstapp_YourModel
1
Tobit 4 अप्रैल 2018, 14:54

ऐप को isolated इकाई के रूप में न समझें। ऐप की अवधारणा कुछ ऐसी है जिसे आप वितरित करना चाहते हैं और अन्य डेवलपर्स को पुन: उपयोग करने देना चाहते हैं। यह आपका मामला नहीं है।

आप साइट को project के रूप में संदर्भित करते हैं और किसी ऐप को किसी अन्य ऐप से आयात करना सामान्य है। मेरा सुझाव है कि आप उन्हें packages कहें जो आपकी परियोजनाओं का हिस्सा हैं, हां आप उन्हें अपने INSTALLED_APPS में जोड़ें लेकिन अंत में पैकेज हैं।

एक अच्छा पैकेज ट्री रखने की कोशिश करें जहां संदर्भ ऊपर-नीचे हों और संदर्भित न हों।

याद रखें: आप डेटाबेस के लिए एप्लिकेशन नहीं बनाते हैं, आप इसे डोमेन के लिए बनाते हैं, डेटाबेस केवल एक दृढ़ता कार्यान्वयन विवरण है।

इस से लेख.

1
Karim N Gorjux 8 अप्रैल 2018, 23:45