2009-07-30 16 views
7

सहित फ़ील्ड का ऑर्डर बदलें, मेरे पास "व्यक्ति" मॉडल है जिसमें अन्य मॉडल के लिए एक से कई संबंध हैं, उदाहरण के लिए पता। मैं इन मॉडलों को उसी पृष्ठ पर व्यक्ति के रूप में संपादित करना चाहता हूं, जिसे मैं पहले से ही इनलाइन के माध्यम से कर सकता हूं। लेकिन मैं भी खेतों के क्रम को बदलना चाहता हूं।Django Admin -> इनलाइन फ़ील्ड्स

मैं (इनलाइन) क्षेत्र "पता" सूची में तीसरा आइटम, लेकिन 'राष्ट्रीयता' आदि

क्षेत्रों ('first_name', 'last_name', 'Adress_Inline', के लिए होना चाहता हूँ ..) मुझे यह मिलता है: PersonAdmin.fields 'फ़ील्ड' पता_इनलाइन 'को संदर्भित करता है जो फ़ॉर्म से गायब है।

क्या फ़ील्ड के क्रम को बदलने और 'नियमित' मॉडल फ़ील्ड के बीच कुछ इनलाइन-फील्ड प्राप्त करने का कोई तरीका है?

धन्यवाद!

उत्तर

0

आपको मैन्युअल रूप से व्यवस्थापक टेम्पलेट (change_form.html) और हार्ड-कोड स्थितियों को मैन्युअल रूप से विस्तारित करना होगा। AFAIK, आप इनलाइन फॉर्मेट को पैरेंट फॉर्म के बीच में सम्मिलित नहीं कर सकते हैं।

0

आप जावास्क्रिप्ट के साथ ऐसा कर सकते हैं। आपको टेम्पलेट को ओवरराइड करने की आवश्यकता है और शायद कुछ div टैग जोड़ना होगा। फिर अपने div की हार्डकोड करें जिसे आप कॉपी करना चाहते हैं और फिर मूल div (इनलाइन के साथ) को छुपाएं। मुझे उम्मीद है कि मदद करता है।

0

जब भी Django व्यवस्थापक फॉर्म टेम्पलेट प्रस्तुत करता है, इनलाइन फ़ील्ड की सूची एक चर {{inline_admin_formset}} में उपलब्ध है, तो आप इनलाइन फ़ील्ड को अपने स्वयं के कस्टम change_form.html टेम्पलेट में कहीं भी दिखाने के लिए इसका उपयोग कर सकते हैं।

ऐसा करने के लिए आपको change_form.html टेम्पलेट का विस्तार करना होगा, कोई अन्य तरीका नहीं है।