0

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

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

我看不到这方面的任何进展。你能建议任何解决方法吗?

谢谢

4

1 回答 1

0

在模型管理员上,我重写了 queryset 函数来清理查询。当然,这只会停止 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)

我确信对于普通的模型管理器也可以这样做。

于 2013-04-16T13:43:46.557 回答