2016-10-14 70 views
-1

我有以下型號:訪問外鍵圖像

class Car(models.Model): 
    # some fields 

class CarPhotos(models.Model): 
    image = models.ImageField(upload_to='somewhere') 
    car = models.ForeignKey(Car) 

在views.py:

def car_list(request): 
    cars = Car.objects.all() 
    return render(request, 'borsa/car_list.html', {'cars': cars}) 

在car_list.html:

{% for car in cars %} 
    <a href="car/{{ car.pk }}/view/"> 
     <img class="media-object tmbpic" src="{{ car.carphotos_set.all.0.image.url }}" alt="kola"> 
    </a> 

第一種方法我我曾經使用過的是使用內聯的formsets,但我不知道如何訪問圖像。你能指點我如何根據車對象訪問圖像的正確方向嗎?我的意思是每輛車都必須有幾張圖片,我只需要在列表視圖中顯示第一張圖片,但是我需要在詳細信息視圖中顯示所有圖片。

+0

這似乎正是你所做的。究竟是什麼問題? –

+0

我不知道那些與formset有什麼關係 - 你不會在這裏使用它們,我無法想象它們爲什麼會相關。 –

+0

問題是我無法訪問所有的圖像,因爲我每個實例上傳多個圖像。我已經提到過,我已經使用內聯窗體來在管理區域添加多個圖像。我完全困惑,因爲我已經改變了幾次代碼。 –

回答

0

要顯示所有這些,你需要做的是這樣的:

{% for car in cars %} 
    {% for photo in car.carphotos_set.all %} 
     <img src="{{ photo.image.url }}"> 
    {% endfor %} 
{% endfor %} 

所以通過汽車循環,通過每輛車的影像,然後窩環。