2016-10-14 13 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> 

第一の方法Iを使用されたのは、インラインの書式を使用することでしたが、私は画像へのアクセス方法が分かりませんでした。あなたはCarオブジェクトに基づいて画像にアクセスする方法の正しい方向に私を指摘できますか?私はすべての車が2つの画像を持っている必要があり、私はリストビューで最初のものだけを表示する必要があることを意味しますが、その後、すべてをDetailビューに表示する必要があります。それらのすべてを表示するには

+0

これはまさにあなたがやったことのようです。正確には、問題は何ですか? –

+0

そして、私はそれが書式セットと関係しているかどうかわかりません - あなたはここでそれらを使用していないので、なぜそれらが関連性があるのか​​想像できません。 –

+0

問題は、インスタンスごとに複数の画像をアップロードしているため、すべての画像にアクセスできません。私は、管理領域に複数のイメージを追加するためにインライン・フォームセットを使用したと述べました。私はいくつかのコードを変更したので、私は完全に混乱しています。 –

答えて

0

は、あなたのような何かをする必要があります。

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

だから、車をループ、車1台の画像を通して、その後巣ループ。