2017-01-30 4 views
1

私のアプリケーションモデルでBigIntegerField "a"とDecimalField "b"を持っていて、クエリーセットをフィルタリングしようとしました。Djangoクエリ:範囲検索でFを使​​用する

qs.filter(Q(a__lte=F("b") + 1)) 
qs.filter(Q(a__gte=F("b"))) 

以下レイズ「10進数Fからの変換がサポートされていません」つつ:(クエリセットは、いくつかの方法によって動的にフィルタリングされるために使用される「Q」)

次のクエリは正常に動作

qs.filter(Q(a__range=(F("b"), F("b") + 1))) 

どうしてですか?どうすれば修正できますか?ありがとう:)

答えて

0

Djangoの開発ブランチを使用しない限り、修正することはできません。しかし、それは生産アプリケーションのために勧められません。 Django 1.11にはticketに含まれる予定です。私はそれがバックポートされるかわからないが、それはリリースの変更にあります:https://docs.djangoproject.com/en/1.11/releases/1.11/#models

+0

ありがとう、それがありました。 –

関連する問題