0

year_id(2004など)は、テンプレートのドロップダウンボックスです。ユーザーは年を選択し、これはビューでyear_idとして取得されます。2008-01-01の形式のgrantstartdtというフィールドから、年に基づいて出版物を選択する必要があります。エラーは次のとおりです。

int()引数は、「年」ではなく、文字列または数値である必要があります

year_id = request.GET['year_id']  
yr = get_object_or_404(Year, pk=year_id) 
projectyr=Researchproject.objects.exclude(activeyesno = 2).filter(grantstartdt__year=yr)  

助けてくれてありがとう!

4

2 に答える 2

0

これは、実際の年ではなく、年オブジェクトを参照しているためです。Yearモデルにxyzという整数フィールドがあると仮定します。コードは次のようになります。

year_id = request.GET['year_id']  
yr = get_object_or_404(Year, pk=year_id) 
projectyr=Researchproject.objects.exclude(activeyesno = 2).filter(grantstartdt__year=yr.xyz)
于 2009-05-30T05:09:24.663 に答える
0

その呼び出しyear_idの代わりに渡してみてください:yrfilter()

projectyr=Researchproject.objects.exclude(activeyesno = 2).filter(grantstartdt__year=year_id)
于 2009-05-29T20:51:17.063 に答える