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