2017-01-31 9 views
0

ホーム/インデックスページの開発データベースに現在あるすべてのレコードへのリンクリストをDjangoに表示しようとしています。Djangoが不正な属性を返す

私のviews.pyのコードは次のようになります。

from django.http import HttpResponse 
from .models import GvData 


def index(request): 
    all_geneva_data = GvData.objects.all() 
    html = '' 

    for data in all_geneva_data: 
     url = '/geneva/' +str(GvData.id) + '/' 
     html += '<a href="' + url + '">title</a><br>' 
    return HttpResponse(html) 

私は私のデータベースにすでにいくつかのサンプルレコードを持っていると私は、各レコードは、IDを持っているシェルを使用して確認してきたとして配置することができmodel.objects.filter(id='#')

このコードはリンクの作成に成功しましたが、リンクはページが見つかりませんというエラーを返します。代わりにレコードIDの整数値を配置するのか、何がURLに置かれていますが次のとおりです。

%3Cdjango.db.models.query_utils.DeferredAttribute%20object%20at%200x0452BF10%3E 

は、なぜ私は、URLパターンの文字列としてidキャストのint型の値の代わりにこれを取得していますか?

答えて

2

あなたはこれがそれをやったオブジェクトモデルの代わりに、オブジェクトのインスタンス

for data in all_geneva_data: 
      url = '/geneva/' +str(data.id) + '/' 
+0

を参照しています。非常に明確かつ簡潔な応答。私はそれが事実であることに気付かなかった。 –

関連する問題