0

Django Framework を使用して Web アプリケーションを設計しています。私はmodelコードurls.pyを書きました。コードはここviewで見ることができます。

データベースにいくつかのデータを追加しましたtable。しかし、以下のコードを使用してオブジェクトにアクセスしようとすると、bookInfo objects5 回しか表示されません。データベースからデータを引き出すのに十分成功しているとは思いません。親切に助けてください。

意見

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

オブジェクトリストを反復処理しているので、必要な列/属性を参照する必要があります。

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

または、元のdb呼び出しをより細かく作成することもできます。そうすれば、使用する反復可能機能が機能します。この場合、「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 に答える
1

データの取得に成功したと思います。booklist数値IDではなく、オブジェクトが含まれているだけです。オブジェクトの文字列表現 (この場合はおそらく本の名前) を返す__unicode__メソッドをクラスに追加できます。BookInfoこのメソッドは、適用時に呼び出されstr()ます。詳細については、__unicode__ こちらを参照してください。

于 2013-03-02T17:21:35.307 に答える