admin django。在admin中添加总价

时间:2017-01-26 18:58:09

标签: python django admin

你好我必须在admin

中添加一行或者例如total_price = 123312

models.py

class Exit(models.Model):
  description= models.CharField(max_length=50)
  data_uscita = models.DateField('data uscita')
  price = models.DecimalField(decimal_places=2, null=True,blank=True)

admin.py

  class ExitAdmin(admin.ModelAdmin):
     list_display =['description','price','total_exit']

def total_exit(self, request): 
    total = Exit.objects.all().aggregate(tot=Sum('price'))['tot']
    return total

但是不行,因为j有一个重复的total_exit列。我只想写一次

我正在使用Python 2.7.11

1 个答案:

答案 0 :(得分:1)

如果您需要它的功能可以返回所有结果的总和(在您的情况下退出),这就是函数的用法:

from django.db.models import Sum

#other code you may need

def get_total(self, request): 
    return Exit.objects.aggregate(total=Sum('price'))

但是,由于您只得到一个结果价格,因此根据结果需要多个价格并且成本模型必须具有合并功能,因此它没有任何意义。