Я определил метод в admin.py
для суммирования сумм после уплаты налогов:
def _grand_total(self, object_id):
line_amounts = Invoice_Line.objects.filter(appointment_ref=object_id).values_list('total_after_tax', flat=True)
return reduce((lambda x,y: x + y), line_amounts)
Запрос ORM, определенный в этой строке: Invoice_Line.objects.filter(appointment_ref=object_id).values_list('total_after_tax', flat=True)
, генерирует ошибку ниже:
объект типа 'Invoice_Line' не имеет атрибута 'objects'
Код модели, показанный ниже:
models.py:
class Appointment(models.Model):
create_date = models.DateField(auto_now_add=True, db_index=True)
appointment_ref = models.AutoField(primary_key=True)
appointment_date = models.DateField()
class Invoice_Line (models.Model):
appointment_ref = models.ForeignKey(Appointment, on_delete=models.CASCADE)
inv_line_date = models.DateTimeField(auto_now_add=True)
item_price = models.DecimalField(max_digits=7, decimal_places=2, default=00000.00, verbose_name='Service Amount')
tip_amount = models.DecimalField(max_digits=7, decimal_places=2, default=00000.00, verbose_name='Tip Amount')
item_quantity = models.PositiveSmallIntegerField(blank=False, null=True, default=0, verbose_name='Service Quantity')
total_before_tax = models.DecimalField(max_digits=7, decimal_places=2, default=00000.00, verbose_name='Before Tax')
stax_rate = models.DecimalField(max_digits=5, decimal_places=4, blank=True, null=True, verbose_name='Sales Tax Rate')
stax_amount = models.DecimalField(max_digits=7, decimal_places=2, default=00000.00, verbose_name='Sales Tax Amount')
total_after_tax = models.DecimalField(max_digits=7, decimal_places=2, default=00000.00, verbose_name='Total After Tax')
Я выполняю тот же запрос в оболочке / интерпретаторе, и он работает просто отлично. Могу ли я получить помощь в исправлении этой ошибки?
Любая помощь будет оценена!
Спасибо!