【发布时间】:2019-10-15 18:49:01
【问题描述】:
我想知道如何将我的查询集保存在数据库中:
def data_min(self):
qs1 = Csr.objects.values_list('value_base')
qs2 = Modelb.objects.filter(Q(limit_a__gte=qs1) & (Q(limit_b__lte=qs1))).distinct().values_list('limit_b')
qs3 = qs2[0]
return qs3
这个函数返回我:
<QuerySet [(Decimal('133.22'),)]>
现在我的问题是如何将它保存在“bdata_superior”字段中的模型中:
class Csr(models.Model):
tarifa_cobro = models.ForeignKey(Tarifa_Sem, on_delete=models.CASCADE, null=True, blank=True)
value_base = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
bdata_superior = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
data_inferior = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
class Modelb(models.Model):
limit_a = models.DecimalField(max_digits=10, decimal_places=2)
limit_b = models.DecimalField(max_digits=10, decimal_places=2)
问题是当我保存它时,我得到以下错误:
conversion from method to Decimal is not supported
def save(self, *args, **kwargs):
self.bdata_superior = self.data_min
super (Crs, self).save(*args, **kwargs)
【问题讨论】:
-
这个 Stack Overflow 站点是一个仅限英文的站点。对于其他语言,请访问其他堆栈溢出站点,例如
https://es.stackoverflow.com/ -
你能详细说明一下这个问题吗?
-
你应该保存模型。
Csr.objects.create(tarifa_cobro_id=1, bdata_superior=1.0, data_inferior=2.0) -
请分享
Modelb的定义。并且您要将其连接到记录还是记录中的字段值? -
我想覆盖save方法保存在Crs类的“bdata_superior”字段中
标签: python django django-queryset