我正在使用 django-nonrel 1.3 和 MongoDB 2.0.7 并面临这个已知问题 - 过滤 QuerySet 时不允许使用多个 OR 语句。
https://github.com/django-nonrel/mongodb-engine/issues/140
我看不到这方面的任何进展。你能建议任何解决方法吗?
谢谢
我正在使用 django-nonrel 1.3 和 MongoDB 2.0.7 并面临这个已知问题 - 过滤 QuerySet 时不允许使用多个 OR 语句。
https://github.com/django-nonrel/mongodb-engine/issues/140
我看不到这方面的任何进展。你能建议任何解决方法吗?
谢谢
在模型管理员上,我重写了 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)
我确信对于普通的模型管理器也可以这样做。