2010-06-30 31 views
2

我需要一些幫助(對不起我的英文不好)。選擇每張專輯中的所有照片(Django)

我試圖從每張專輯中獲取所有照片。我不知道如何進行查詢。 我需要這些數據(並通過屬性「順序」來訂購照片,這太棒了)。

House1標題

照片1:descritpion

照片2:descritpion

照片3:descritpion

House2標題

照片1:descritpion

照片2:descritpion

照片3:descritpion

模型(略)看起來是這樣的,這樣更容易使查詢?而且更有效率? (我知道,最好的解決方案是使用memcache)。

選項A:

class House(ImageModel): 
     title = models.CharField(max_length=25) 
     photos = models.ManyToManyField('Photo') 


class Photo(ImageModel): 
    photo = models.ImageField(upload_to='photos/originals') 
    description = models.CharField(max_length=100) 
    order = models.IntegerField() 

選項B:

class House(ImageModel): 
     title = models.CharField(max_length=25) 

class Photo(ImageModel): 
    house = models.ForeignKey(House) 
    photo = models.ImageField(upload_to='photos/originals') 
    description = models.CharField(max_length=100) 
    order = models.IntegerField() 

謝謝!

回答

4

選項B.是正確的方法。

House.objects.all().select_related() 


{% for house in house_qs %} 
    {{house.name}} 

    {% for photo in house.photo_set.all %} 
     {{photo}} 
    {% endfor %} 

{% endfor %} 
+0

可以用order_by命令嗎?此應用程序崩潰我的應用程序 {%for photographer.photo_set.all.order_by('order')%}中的照片 – user380257 2010-06-30 22:13:31

+0

user:在照片模型中,定義一個元類,在其中定義字段order的順序 – 2010-07-01 09:18:47

相關問題