から値を取得しようとしrequest
ていますが、エラーが発生していることに本当に驚いています。
def product_view(request):
lookup_type_user = request.GET.get('lookup_type', '')
LOOKUP_TYPE_CHOICES = (
('gt', '>'),
('lt', '<'),
)
class ProductFilter(django_filters.FilterSet):
lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES)
price = django_filters.NumberFilter(lookup_type=lookup_type_user)
この行は、基本的に同じですが、正常に機能します。
price = django_filters.NumberFilter(lookup_type='gte')
これはパッケージに関連するものであり、lookup_type
手作業で提供した上記の行では何も発生しなかったため、エラーメッセージは投稿していません。これは、そのパッケージとは関係がなく、上記のコードとは関係がないと考えています。
ここで何がうまくいかないのかわかりますか?
@編集
を印刷して、request
正確に何が含まれているかを確認する方法はありますか?
私はそれを動かしました。それは私の無知でした。代わりに再定義する必要がありlookup_type
ましforms.py
た。このような:
lookup_type = forms.ChoiceField(choices=LOOKUP_TYPE_CHOICES)
ではなく:
lookup_type = django_filters.ChoiceFilter(choices=LOOKUP_TYPE_CHOICES)
django-filterが行っlookup_type
ていたので、モデルに存在しないフィールドをフィルタリングしようとしていました。FieldError at/. Cannot resolve keyword 'lookup_type' into field
私が使用している別のアプリ-django_tables2がこのエラーを別のものに変更したため、私は知らなかったエラーをスローしていました。
今はおそらく役に立たないスレッドですが、これを解決しようとした人々に知らせたいだけです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加