我正在尝试输出属于我的应用中每条记录的图像列表,如下所示:
pri_photo = vehicle.images.all()[:1]
sec_photos = vehicle.images.all()[1:]
这第一部分没问题。我遇到问题的部分是我尝试
时pri_photo.original_image.url
sec_photos.original_image.url
上面两行代码给了我一个'QuerySet' object has no attribute 'original_image'
。可能是什么问题?
我还希望将sec_photos
中的照片输出为image1,image2,......直到最后一张
答案 0 :(得分:1)
[:1]只限制查询集返回的记录数,仍然是查询集结果,而不是单个对象。
要获得单个对象,请使用
[0]
或
[0:1].get()
但它不安全,因为如果没有任何对象与查询匹配,它将引发错误。要正确执行,请使用filter(),如果结果存在则get()或
try:
#get()
except modelname.DoesNotExist:
# do shomething else
另外,如果您正在寻找最新的对象,也许您可以使用http://www.djangoproject.com/documentation/models/get_latest/