0

MongoDB 2.0.7 で django-nonrel 1.3 を使用しており、この既知の問題に直面しています。QuerySet のフィルタリング中に複数の OR ステートメントを使用することはできません。

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

私はそれについて何の進歩も見ません。回避策を提案できますか?

ありがとう

4

1 に答える 1

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)

通常のモデルマネージャーでも同じことができると思います。

于 2013-04-16T13:43:46.557 に答える