У меня проблемы со следующим набором запросов, я проверяю его в оболочке django, и он возвращает пустой список.
Ситуация такова, что я занимаю ключ выше, я сделал то же упражнение с моделью"Tarifa_Sem" и возвращает значение без проблем, просто замените F ('') на переменную x = 1000
Ситуация такова, что таблица модели "Tarifa_Sem" предназначена только для ознакомления.
Где я собираюсь управлять и сохранять ответ набора запросов в модели "Calculadora_isr"
Модель 1
class Tarifa_Sem(models.Model):
limite_inferior_isr = models.DecimalField(max_digits=10, decimal_places=2)
limite_inferior_subsidio = models.DecimalField(max_digits=10, decimal_places=2)
limite_superior = models.DecimalField(max_digits=10, decimal_places=2)
Модель 2
class Calculadora_isr(models.Model):
tarifa = models.ForeignKey(Tarifa_Sem, on_delete=models.CASCADE, blank=True)
base_gravada = models.DecimalField(max_digits=10, decimal_places=2, blank=True)
limite_inf_calculo = models.DecimalField(max_digits=10, decimal_places=2, blank=True)
Queryset and save ()
def limite_inferior(self):
queryset = Calculadora_isr.objects.filter(tarifa__limite_superior__gte=F('base_gravada'),tarifa__limite_inferior_isr__lte=F('base_gravada')).distinct().values('tarifa__limite_inferior_isr')
return queryset
def save(self):
self.limite_inf_calculo = self.limite_inferior
super (Calculadora_isr, self).save()
В оболочке django список выглядит пустым.
>>> queryset = Calculadora_isr.objects.filter(tarifa__limite_superior__gte=F('base_gravada'),tarifa__limite_inferior_isr__lte=F('base_gravada')).distinct().values('tarifa__limite_inferior_isr')
А в админе, когда я даю ему сохранение, он говорит мне:
преобразование из метода в десятичное не поддерживается
спасибо за поддержку