2013-02-19 2 views
1

Я изучаю Django ORM. Как я могу получить Фото в моем шаблоне?Django Иностранный ключ. Доступ в шаблоне

def index(request):  
    animal = Animal.objects.all() 
    return render_to_response('animal.html', 
           {'animal':animal,}, 
           context_instance=RequestContext(request)) 

шаблона:

{{ animal.name }} 
{{ animal.photo.all }} 

, но это не работает.

модель:

class Animal(models.Model): 
    name = models.CharField(max_length=255) 

class Photo(models.Model): 
    photo = models.ImageField(upload_to='media/images') 
    animal = models.ForeignKey(Animal) 

ответ

4

Вы должны прочитать документацию на following relationships, чтобы посмотреть, как вы получите доступ связанные с ним элементы.

В вашем случае каждый animal имеет photo_set, который является способом получить список всех объектов фотографии, принадлежащих этому животному.

В шаблоне, вы должны сделать следующее:

{{ animal.name }} 
{% for picture in animal.photo_set.all %} 
    <img src="{{ picture.photo.url }}" /> 
{% endfor %} 
Смежные вопросы