0

モデルにpriceフィールドとshippingフィールドがあります。

Q両方の値を追加して、オブジェクトクエリの一部として使用する必要があります。理想的には、次のようなものです。

if '1' in selected_prices:
  query |= Q(price_and_shipping__range=(1, 1000))

if '2' in selected_prices:
  query |= Q(price_and_shipping__range=(1001, 2000))

price_and_shippingプロパティを作成して使用することはできないことはわかっていますが、代替手段は何ですか?

4

1 に答える 1

0

F() 式を使用してこれを解決する優れた方法を見つけました

if '1' in selected_prices:
  query |= Q(price__gte=1 - F('shipping'), price__lte=1000 - F('shipping'))

if '2' in selected_prices:
  query |= Q(price__gte=1001 - F('shipping'), price__lte=2000 - F('shipping'))

同様の質問に対するこの回答を使用してこれを理解しました: https://stackoverflow.com/a/10664491/152653

F() 式の詳細: https://docs.djangoproject.com/en/dev/topics/db/queries/#query-expressions

于 2013-02-05T23:15:11.027 に答える