これは非常に奇妙な問題です。extra を使用する複雑なクエリに取り組んでいますが、これは完全に機能します。クエリセットを通常どおり使用している場合は機能し、テンプレート内のオブジェクトを一覧表示できます。すべて問題ありません。
しかし、ページネーターを適用すると、エラーが発生します。数時間のデバッグの後、クエリに print ステートメントを入力しようとしましたが、驚くべきことにうまくいきました。以下は私のコードです
queryset=get_model('vehicle', 'car').objects.my_cars(language=request.LANGUAGE_CODE, user=request.user)
paginator = Paginator(
queryset,
10
)
page = request.GET.get('page')
try:
print getattr(queryset, 'query')
cars = paginator.page(page)
except PageNotAnInteger:
cars = paginator.page(1)
except EmptyPage:
cars = paginator.page(paginator.num_pages)
return render_to_response(
'accounts/profile/my_vehicle.html',
{
'my_cars' : cars.object_list,
},
RequestContext(request)
)
print queryset.query ステートメントを削除すると、mysql 構文エラーが発生します。私がそれを保持すると、それは通過します。以前にそのようなことを経験した人はいますか?
編集:
取得中のエラーは次のとおりです
DatabaseError at /en/account/profile/my-vehicles/
(1054, "Unknown column 'vehicle_modellookup.id' in 'where clause'")