不允许使用django-nonrel中的多个OR过滤器,解决方法?

时间:2012-09-28 08:05:36

标签: django django-models django-nonrel

我正在使用django-nonrel 1.3与MongoDB 2.0.7并面对这个已知问题 - 过滤QuerySet时不允许多个OR语句。

https://github.com/django-nonrel/mongodb-engine/issues/140

我认为没有任何进展。你能建议任何解决方法吗?

由于

1 个答案:

答案 0 :(得分:0)

在模型管理员上,我重写了查询集函数以清理查询。当然,这只会停止500错误,并抛弃除第一个查询字符串之外的所有错误。

def clean_query(request):
    if 'q' in request.GET:
        get_data = request.GET.copy()
        get_data['q'] = get_data['q'].split(" ")[0]
        request.GET = get_data

class MyAdmin(admin.ModelAdmin):
    def queryset(self, request):
        clean_query(request)
        return super(MyAdmin, self).queryset(request)

我确信普通模型管理员可以做同样的事情。