我有以下型号
class TimePeriod(BaseModel):
product = models.ForeignKey(to=Product, on_delete=models.CASCADE)
min_travel_days = models.PositiveIntegerField()
max_travel_days = models.PositiveIntegerField()
value = models.DecimalField(max_digits=19, decimal_places=10)
insurance_period_min_days = models.PositiveIntegerField(
null=True, blank=True)
insurance_period_max_days = models.PositiveIntegerField(
null=True, blank=True)
产品型号为
class Product(BaseModel):
name = models.CharField(max_length=255)
我有下面的工作表来计算min_days和max_days以及保险最小最大天数。
| 保险_期间|差旅天数|数值|
| - -|- -|- -|
| 1-92天后|1-30天|三十|
| 1-183天|1-90天|四十五|
| 1-365天|1-90天|五十个|
| 1-365天|1-180天|六十|
我的问题是,假设我有29天的旅行天数和90天的保险天数,我如何使用django查询来计算这个值?因为90天的保险天数和29天的旅行时间的实际值是30
。
我试过这样做
TimePeriod.objects.filter(product__name='silver',insurance_period_min_days__lte=90,insurance_period_max_days__gte=90,
min_travel_days__lte=29,max_travel_days__gte=29).values('value').first()
我得到了4个不同的结果,因为我的查询满足了上表的所有条件,我可以用任何方法来满足上表的条件?得到30作为值?
1条答案
按热度按时间w8f9ii691#
我想我得到了答案我错过了订单