django ORM在使用paginator时返回SQL语法异常

时间:2012-11-02 16:54:14

标签: django django-orm

这是一个非常奇怪的问题,我一直致力于使用额外的复杂查询,它完美无缺。当我正常使用查询集时,它可以工作,我可以列出模板中的对象一切正常。

但是,当我应用paginator时,它会给我一个错误。经过几个小时的调试,我试图为我的查询添加一个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'")

0 个答案:

没有答案