2012-06-15 6 views
11

कुछ हफ्तों से मैं पाइथन और डीजेगो सीख रहा हूं। इस बिंदु तक यह प्रश्नों और अन्य उपयोगकर्ताओं के उत्तरों को पढ़ने के लिए पर्याप्त है। लेकिन अब मेरे पहले प्रश्न का क्षण आ गया है।Django: टेम्पलेट के माध्यम से विदेशी के द्वारा जुड़े डेटा कैसे प्राप्त करें?

मैं अपनी समस्या का वर्णन करने की कोशिश करूंगा जितना मैं कर सकता हूं। मेरी समस्या यह है कि मैं क्वेरी नहीं कर सकता या डेटा चाहता हूं।

मैं क्लास छवि की पहली वस्तु का यूआरएल प्राप्त करना चाहता हूं जो कि विदेशी के द्वारा गैलरी में जुड़ा हुआ है, जो कि विदेशी प्रवेश से कक्षा प्रविष्टि से जुड़ा हुआ है।

यहाँ models.py अब तक:

class BlogEntry(models.Model): 
    ... 
    title = models.CharField(max_length=100) 
    ... 

class Gallery(models.Model): 
    entry = models.ForeignKey('BlogEntry') 

class Image(models.Model): 
    gallery = models.ForeignKey('Gallery') 
    picture = models.ImageField(upload_to='img') 

दृश्य:

def view(request): 
    return render_to_response('mainview.html', { 
    'entryquery': BlogEntry.objects.all(), 
    } 
) 

टेम्पलेट:

{% for item in entryquery %} 
    <h1>{{ item.title }}</h1> 
    <img src="{{ item.WHAT TO ENTER HERE? :) }}" /> 
{% endfor %} 

यह स्पष्ट है कि मैं क्या करना चाहते हैं? क्या कोई मेरी मदद कर सकता है और जब संभव हो तो एक संक्षिप्त स्पष्टीकरण लिख सकता है?

बधाई Bastian

उत्तर

14

आप कर सकते हैं access related members सिर्फ other attributes in a template की तरह, आप की तरह कुछ कर सकते हैं तो: item.gallery_set.all.0.image_set.all.0.picture.img। हालांकि, यह, ब्लॉग प्रविष्टि पर एक विधि है कि ऊपर देखा और उचित चित्र लौटे परिभाषित करने के लिए इतना है कि आप सिर्फ item.first_image या कि

+0

आपके त्वरित उत्तर के लिए बहुत बहुत धन्यवाद :)। मुझे कोड की इस पंक्ति को बिल्कुल समझ में नहीं आता है। क्या आप मुझे संबंधित सदस्यों तक पहुंच के दस्तावेज के लिए एक लिंक दे सकते हैं? मुझे Django दस्तावेज़ीकरण पृष्ठ पर कुछ नहीं मिला। – user1459531

+0

हाँ, इसमें एक लिंक जोड़ा गया। उम्मीद है की वो मदद करदे! – cberner

+0

धन्यवाद, धन्यवाद, धन्यवाद! :) – user1459531

0
class BlogEntry(models.Model): 
    ... 
    title = models.CharField(max_length=100) 
    ... 

class Gallery(models.Model): 
    entry = models.ForeignKey('BlogEntry',related_name="galleries") 

class Image(models.Model): 
    gallery = models.ForeignKey('Gallery',related_name='images') 
    picture = models.ImageField(upload_to='img') 

आप में विदेशी कुंजी में related_name जोड़ने के लिए की तरह कुछ कर सकता है आसान हो सकता है गैलरी मॉडल और टेम्पलेट दृश्य में:

{% for g in blogentry.galleries.all %} 
    {{g.name}} 
     {%for i in g.images.all %} 
      <img src="{{i.picture.url}}">{{i.picture}}</img> 
     {% endfor %} 
{% endfor %} 
संबंधित मुद्दे

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