वैरिएबल सूचियां संपत्ति के लिए।, यह भी एक बहुत-से-एक संबंध के रूप में जाना जाता है, आम तौर पर कई के लिए एक अलग मॉडल बनाने और, उस मॉडल में, "एक" करने के लिए एक ForeignKey का उपयोग करके नियंत्रित किया जाता है
django.contrib में ऐसा कोई ऐप नहीं है, लेकिन वहां से हैं आप बाहरी बाहरी परियोजनाओं का उपयोग कर सकते हैं, उदाहरण के लिए django-photologue जो व्यवस्थापक में छवियों को देखने के लिए भी कुछ समर्थन है।
व्यवस्थापक साइट को "उपयोगकर्ता प्रमाण" नहीं बनाया जा सकता है, इसका उपयोग केवल विश्वसनीय उपयोगकर्ताओं द्वारा किया जाना चाहिए। यह देखते हुए, आपकी व्यवस्थापक साइट को सभ्य बनाने का तरीका आपकी संपत्ति के लिए मॉडलएडमिन को परिभाषित करना होगा और फिर फ़ोटो (inline documentation) को रेखांकित करना होगा।
# models.py
class Property(models.Model):
address = models.TextField()
...
class PropertyImage(models.Model):
property = models.ForeignKey(Property, related_name='images')
image = models.ImageField()
और:
तो, आप कुछ त्वरित ड्राफ्ट देने के लिए, सब कुछ कुछ इस तरह दिखेगा
# admin.py
class PropertyImageInline(admin.TabularInline):
model = PropertyImage
extra = 3
class PropertyAdmin(admin.ModelAdmin):
inlines = [ PropertyImageInline, ]
admin.site.register(Property, PropertyAdmin)
ForeignKey पर related_name तर्क का उपयोग करने के लिए कारण है इसलिए आपके प्रश्न अधिक पठनीय होंगे, उदाहरण के लिए इस मामले में आप अपने ध्यान में रखते हुए कुछ इस तरह कर सकते हैं:
property = Property.objects.get(pk=1)
image_list = property.images.all()
संपादित करें: उल्लेख करने के लिए, आप तो व्यवस्थापक में ड्रैग और ड्रॉप आदेश सिमोन विललिसन की झलकी Orderable inlines using drag and drop with jQuery UI
स्रोत
2009-02-11 17:52:25
संपत्ति छवि मॉडल में ऑर्डर करने के लिए एक फ़ील्ड शामिल होना चाहिए। – akaihola
यह एक उद्धारक था ... धन्यवाद एक टन –
धन्यवाद, अद्भुत!थोड़ी सी बदलाव के बाद ऑर्डर करने योग्य स्निपेट बहुत अच्छा काम करता है, क्योंकि यह फाइलफिल्ड्स के लिए नहीं लिखा गया है। लाइन 59 बनने की जरूरत है "अगर ($ (यह)। ढूँढें ('इनपुट [प्रकार = फ़ाइल]')। वैल() || $ (यह)। ढूँढें ('p.file-upload')। लंबाई) {" यह जांचने के लिए कि क्या पहले से ही एक फ़ाइल अपलोड हो चुकी है, या एक फ़ाइल अपलोड लंबित है। साथ ही, यह एक स्टैक्डइनलाइन पर काम करता है, न कि टैबुलरइनलाइन (बॉक्स के बाहर, वैसे भी)। – mrooney