2015-01-14 107 views
0

這裏是問題,我有點與外鍵丟失,我看過很多帖子,我不明白一切。
我有一個項目表:
如何在Django中顯示foreignkey圖像

class Item(models.Model): 
    title = models.CharField(max_length=150) 
    slug = models.SlugField(max_length=100) 
    price = models.IntegerField() 
    stock = models.IntegerField() 
    description = models.TextField() 
    image = models.ImageField(upload_to=item_file_name) 

有一個形象至極是主要的。當我列出所有項目時,在我的索引中,我想查看每個項目的圖像。但是當我點擊這個項目時,我想看到這個項目的所有圖像(在另一個視圖中)。所以我已經做到了。

class ImageOfItem(models.Model): 
    picture = models.ImageField(upload_to=item_file_name_for_image) 
    item = models.ForeignKey('Item') 

我不知道它是否好,但它的工作。我可以在管理面板上添加一張帶有圖片的項目。然後,我可以添加圖像並將其附加到該項目上(它的工作原理是,最好的方法是在創建項目時能夠上傳所有圖像,但我更願意從容易開始)。
因此,知道一切都保存,因爲我想。但我不知道如何顯示所有的圖像。 我的看法是這樣的:

def view_item(request, id, slug): 
    item = get_object_or_404(Item, id=id) 
    return render(request, 'ecommerce/view_item.html', locals()) 

我不知道如果我要得到的圖像太或者Django的已經做了。並沒有的var_dump所以沒有辦法知道,如果它在我的變量項目

我的模板:

{{item.title}} 
{{item.description}}<br> 
{{item.price}}<br> 
{{item.stock}}<br> 

<img src="{{ item.image.url }}"><br> //principal image it works !! 
{% for img in item.ImageOfItem %} 
    <img src="{{ img.picture.url }}"><br> //**all the image I want to display too (but don't know how)** 
{% endfor %} 

所有我想要顯示太(但不知道怎麼做)的圖像

回答

1

您應該follow relationship backwardItemImageOfItem

{% for img in item.imageofitem_set.all %} 
    <img src="{{ img.picture.url }}"><br> 
{% endfor %} 
+0

does not工作。我是否必須改變視圖上的某些內容? – TotuDoum

+0

對不起,我寫了'imageofotem'而不是'imageofitem'。答案固定。 – catavaran