show database:list indices必须是整数,而不是str

时间:2014-09-17 01:27:19

标签: python django mongodb

我练习如何使用django在我的mongodb中显示数据

显示image字段时,出现错误

list indices must be integers, not str

image提交的保存数据如下:

{u'url': u'http://test/images/1.jpg', u'path': u'full/1.jpg', u'checksum': u'57b'}

这是我的views.py

def index(request):
shopping = Shopping.objects.all()
# html = shopping[1].date  # works well! output : 2014.08.23
aa = shopping[1].images   
html =  aa['url']
return HttpResponse(html)

my modes.py

class Shopping(models.Model):
    title       = models.CharField(max_length=100)      
    date        = models.CharField(max_length=100)      
    image_urls  = ListField()           #scrapy                 
    images      = ListField()           #scrapy
    objects     = MongoDBManager()

请告诉我如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

shopping [1] .images是一个ListField()含义

 aa = shopping[1].images 

将aa设置为ListField(),您必须使用索引访问该列表以获取所需的图像字段。

首先尝试使用整数索引aa:

aa = shopping[1].images   
html =  aa[0]['url']