擅长:python、mysql、java
<p>当您只需要一个字段时,我建议使用属性flat调用values\u list。你知道吗</p>
<pre><code>bases = Calculator.objects.values_list('base', flat=True)
</code></pre>
<p>这将返回queryset的展开版本:</p>
<pre><code><QuerySet [Decimal('3000.00'), Decimal('5000.00'), Decimal('1000.00')]>
</code></pre>
<p>在获取基之后,您应该创建一个Q对象,其中包含或查询如下:</p>
<pre><code>import operator
from itertools import reduce
query_args = []
for base in bases:
query_args.append(
Q(limite_s__gte=base) & Q(limite_i__lte=base)
)
query = reduce(operator.or_, query_args)
tarifas = Tarifa.objects.filter(query).values_list('limite_i', flat=True)
</code></pre>