私はいくつかのソートを行いたいと思いますが、このような順序付けという名前のパラメータでGETリクエストを行っています。これは、次のような並べ替えに使用するモデル属性です。DjangoリクエストGETパラメータ値リスト
?order=['-age', 'height']
注文パラメータを受け取ろうとすると問題が発生します。値はリストです。
私はこのようなASTを使用してみました:
if 'order' in request.GET:
import ast
order = ast.literal_eval(request.GET.get('order'))
queryset = queryset.order_by(*order)
それは働きました。しかし、私はastライブラリを使用しないようにしたいと思います。
UPDATE
私でした。このように私のパラメータ:?
順= -age、高さ
そして、ちょうどこのようにpythonでスプリットを使用:
if 'order' in request.GET:
order = request.GET.get('order').split(',')
queryset = queryset.order_by(*order)
'.GET.getlist'を意味しますか? – Sayse
[同じDjangoリクエストを扱う]と同じパラメータ名に対して複数の変数が重複する可能性があります(http://stackoverflow.com/questions/3910165/handling-django-request-get-and-multiple-variables-for-the-同じパラメータ名) – Sayse
@Sayse、これはgetlistを使用したときの出力です。[u '[ - bet_amount、settlement_amount []] –