我需要一些帮助(抱歉我的英语很差)。
我正试图从每张专辑中获取所有照片。我不知道如何进行查询。 我需要这些数据(并通过属性订购照片“订单”它会很棒)。
House1-标题
photo1:descritpion
photo2:descritpion
photo3:descritpion
House2-标题
photo1:descritpion
photo2:descritpion
photo3:descritpion
模型(缩写)看起来像这样,更容易进行查询?哪个更有效率? (我知道,最好的解决方案是使用内存缓存)。
选项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()
谢谢!
答案 0 :(得分:4)
选项B.是正确的方法。
House.objects.all().select_related()
{% for house in house_qs %}
{{house.name}}
{% for photo in house.photo_set.all %}
{{photo}}
{% endfor %}
{% endfor %}