如何访问Django View中MySQL表中的所有条目?

时间:2013-03-02 17:17:33

标签: mysql django

我正在使用Django Framework设计Web应用程序。我编写了model代码,urls.pyview代码,可以看到Here

我已将一些数据添加到数据库table中。但是当我尝试使用下面的代码访问该对象时,它只显示bookInfo objects五次。我认为我没有成功地从数据库中提取数据。请帮助。

查看

def showbooks(request):
    booklist = bookInfo.objects.order_by('Name')[:10]
    output = ','.join([str(id) for id in booklist])
    return HttpResponse(output)

2 个答案:

答案 0 :(得分:1)

我认为您在提取数据方面取得了成功。只是booklist包含对象,而不是数字ID。您可以将__unicode__方法添加到应该返回对象的字符串表示形式的类BookInfo(在本例中可能是书名)。应用str()时将调用此方法。您可以找到有关__unicode__ here

的更多信息

答案 1 :(得分:1)

您正在遍历对象列表,您只需要引用所需的列/属性:

output = ','.join([obj.id for obj in booklist])

或者你可以更精细地制作原始数据库调用,然后你使用的可迭代工作。在这种情况下,我们将提取'id'属性的列表。

booklist = bookInfo.objects.order_by('Name').values_list('id', flat=True)[:10]
output = ','.join([id for id in booklist])