2010-08-08 20 views
9

संशोधित किए बिना तृतीय पक्ष मॉडल का विस्तार कैसे करें मैं डेटाबेस तालिका में एक कॉलम जोड़ना चाहता हूं लेकिन अगर मैं भविष्य में मॉड्यूल को अपग्रेड करने की आवश्यकता/निर्णय लेता हूं तो मैं तृतीय पक्ष मॉड्यूल को संशोधित नहीं करना चाहता हूं। क्या कोई तरीका है कि मैं इस कोड को अपने कोड में जोड़ सकता हूं ताकि नए निर्माण के साथ मुझे मैन्युअल रूप से फ़ील्ड को जोड़ना पड़े?Django -

उत्तर

9

आप ModelName.add_to_class (या .contribute_to_class) का उपयोग कर सकते हैं, लेकिन यदि आप पहले ही सिंकडीबी चला चुके हैं, तो आपके पास आवश्यक कॉलम स्वचालित रूप से जोड़ने का कोई तरीका नहीं है।

रखरखाव कोड के लिए, आप शायद अपने स्वयं के ऐप में वांछित मॉडल को उप-वर्गीकृत करके विस्तार करना चाहते हैं, और डेटाबेस माइग्रेशन को संभालने के लिए दक्षिण की तरह कुछ उपयोग करना चाहते हैं, या केवल OneToOneField का उपयोग करें, और एक संबंधित मॉडल (जैसे UserProfile auth.User है)।