2010-12-03 15 views
5

मैं एक साधारण Gallery मॉडल रही है, इसलिए है कि एक ordering -attribute है कि एक मेज के माध्यम से अनेक-से-अनेक संबंध के माध्यम से एक Image मॉडल से संबंधित है:Django: InlineAdmin और ManyToManyField साथ 'से लेकर'

# models.py 
class Image(models.Model): 
    .... 

class Gallery(models.Model): 
    images = models.ManyToManyField(Image, through='ImageGallery') 
    .... 

class ImageGallery(models.Model) 
    image = models.ForeignKey(Image) 
    gallery = models.ForeignKey(Gallery) 
    ordering = models.PositiveIntegerField(_('ordering'), default=0) 

# admin.py 
class ImageGalleryAdmin(admin.ModelAdmin): 
    model = ImageGallery 

class GalleryAdmin(admin.ModelAdmin): 
    inlines = (ImageGalleryAdmin,) 

मैं एक इनलाइन व्यवस्थापक के माध्यम से 'through' तालिका संपादित कर रहा हूं।

मैं जो करना चाहता हूं वह सीधे इनलाइन व्यवस्थापक में छवियों को अपलोड/संपादित करने में सक्षम होना है, इसलिए मैं जानना चाहता हूं कि कोई एक एक्सिसिटिंग स्निपेट जानता है, जो मुझे क्षेत्र के क्षेत्र को संपादित करने की अनुमति देता है संदर्भित मॉडल (छवि) के फ़ील्ड के साथ 'थ्रू-टेबल', विदेशी कुंजी को संपादित करने की आवश्यकता नहीं है ....

+0

मुझे एक ही चीज़ चाहिए ... मानक django इनलाइन का उपयोग करके, कुछ हद तक प्रश्न को स्पष्ट करने के लिए, अंतिम मॉडल के गुण उपलब्ध नहीं हैं - केवल 'माध्यम' मॉडल (जैसे ऑर्डर पैरामीटर) के गुण इनलाइन में संपादित किया जाना चाहिए। मुझे लगता है कि वांछित क्या है कि लिंक ऑब्जेक्ट के ऑर्डर पैरामीटर और पैरामीटर दोनों एक ही इनलाइन में संपादन योग्य हैं। – bjw

उत्तर

-1

शायद मैं आपका प्रश्न समझ नहीं पाया हो। तुम सिर्फ उपयोग नहीं कर सकते:

वर्ग ImageAdmin (admin.ModelAdmin)

inlines = (ImageGalleryAdmin,) 

admin.site.register (छवि, ImageAdmin)

0

ऐसा लगता है इस सवाल का पहले से ही किया गया है यहां उत्तर:

Django admin - inline inlines (or, three model editing at once)

आप ne इनलाइन के संदर्भ में इनलाइन के लिए कस्टम फॉर्म और टेम्पलेट बनाने के लिए एड करें।

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