你能支持我提出以下问题吗?你知道吗
我有这样的模型:
class Tarifa(models.Model):
limite_i = models.DecimalField(max_digits=10, decimal_places=2)
limite_s = models.DecimalField(max_digits=10, decimal_places=2)
class Calculator(models.Model):
tarifa = models.ForeignKey(Tarifa, on_delete=models.CASCADE)
base = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
limite = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
我有一个第一个查询集,它提供了计算器模型中一行的信息:
qsl1 = Calculator.objects.values_list('base')
此查询集返回我在基中的所有金额:
<QuerySet [(Decimal('3000.00'),), (Decimal('5000.00'),), (Decimal('1000.00'),)]>
稍后,我将此查询作为子查询输入以下查询集中:
qsl2 = Tarifa.objects.filter(
Q(limite_s__gte=qsl1)
& Q(limite_i_isr__lte=qsl1))
.values_list('limite_i')
这第二个查询的值是'limit\u s'>;='base'和'limit\u i'<;='base',然后给我带来'limit\u i'的值
现在的问题是,我只返回第一个值3000.00的比较,我还需要对5000.00和1000.00以及所有其他添加的值进行比较。你知道吗
但我不知道你怎么能支持我,非常感谢。你知道吗
如果用^{} 更新
ForeignKey
字段,如下所示:然后你可以这样尝试:
当您只需要一个字段时,我建议使用属性flat调用values\u list。你知道吗
这将返回queryset的展开版本:
在获取基之后,您应该创建一个Q对象,其中包含或查询如下:
相关问题 更多 >
编程相关推荐