MongoDB 2.0.7 で django-nonrel 1.3 を使用しており、この既知の問題に直面しています。QuerySet のフィルタリング中に複数の OR ステートメントを使用することはできません。
https://github.com/django-nonrel/mongodb-engine/issues/140
私はそれについて何の進歩も見ません。回避策を提案できますか?
ありがとう
MongoDB 2.0.7 で django-nonrel 1.3 を使用しており、この既知の問題に直面しています。QuerySet のフィルタリング中に複数の OR ステートメントを使用することはできません。
https://github.com/django-nonrel/mongodb-engine/issues/140
私はそれについて何の進歩も見ません。回避策を提案できますか?
ありがとう
モデル管理者では、クエリセット関数をオーバーライドしてクエリをクリーンアップしました。もちろん、これは 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)
通常のモデルマネージャーでも同じことができると思います。