这是一个非常奇怪的问题,我一直在研究一个使用 extra 的复杂查询,它运行良好。当我正常使用查询集时,它可以工作,我可以列出模板中的对象一切都可以。
但是,当我应用分页器时,它给了我一个错误。经过几个小时的调试,我尝试为我的查询添加一个打印语句,令人惊讶的是它起作用了。下面是我的代码
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'")