0

我正在使用 Django 框架设计一个 Web 应用程序。我已经编写了model代码,urls.py并且view可以在这里看到代码。

我在数据库中添加了一些数据table。但是当我尝试使用下面的代码访问该对象时,它只显示了bookInfo objects五次。我认为我在从数据库中提取数据方面不够成功。请帮忙。

看法

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

2 回答 2

1

我认为你成功地提取了数据。它只是booklist包含对象,而不是数字 ID。__unicode__您可以向您的类添加方法,BookInfo该方法应该返回对象的字符串表示形式(在这种情况下可能是书名)。应用时将调用此方法str()__unicode__ 您可以在此处找到更多信息。

于 2013-03-02T17:21:35.307 回答
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])
于 2013-03-02T17:25:56.913 回答