我想要获得所有购买的总和以显示在我的管理员中,以便我可以根据所花费的金额查看收据。这是我的应用程序。我删除了我已经试过的东西,只是粘贴了已经有效的东西。我如何总计Django中所有价格的总和admin
class Store(models.Model):
store_name = models.CharField(max_length = 255)
store_number = models.IntegerField()
address_1 = models.CharField(_("address"), max_length = 128)
address_2 = models.CharField(_("address cont'd"), max_length = 128, blank = True)
city = models.CharField(_("city"), max_length = 64, default = "Enter City")
state = USStateField(_("state"), default = "AB")
zip_code = models.CharField(_("zip code"), max_length = 5, default = "Enter Zip")
def __unicode__(self):
return self.store_name
class Receipt(models.Model):
store = models.ForeignKey(Store)
receipt_number = models.IntegerField()
transaction_date = models.DateTimeField()
BUSINESS = "BS"
PERSONAL = "PS"
RECEIPT_TYPE_CHOICES = (
(PERSONAL, 'Personal'),
(BUSINESS, 'Business'),
)
receipt_type = models.CharField(max_length=2,
choices = RECEIPT_TYPE_CHOICES,
default = PERSONAL)
def __unicode__(self):
return unicode(self.receipt_number)
class Purchase(models.Model):
receipt = models.ForeignKey(Receipt)
item_name = models.CharField(max_length = 255)
price = models.DecimalField('Amount', max_digits = 5, decimal_places = 2)
def __unicode__(self):
return self.item_name
这里是我的管理
from django.contrib import admin
from django.db.models import Sum
from receipts.models import *
class PurchaseInline(admin.TabularInline):
model = Purchase
extra = 3
class ReceiptAdmin(admin.ModelAdmin):
fieldsets = [
('Store', {'fields': ['store']}),
('Receipt', {'fields':['receipt_number', 'receipt_type']}),
('Transaction Date', {'fields': ['transaction_date']}),
]
inlines = [PurchaseInline]
list_display = ('store', 'transaction_date', 'receipt_number', 'receipt_type')
list_filter = ['store']
class StoreAdmin(admin.ModelAdmin):
list_display = ('store_name', 'city', 'state', 'store_number')
admin.site.register(Store, StoreAdmin)
admin.site.register(Receipt, ReceiptAdmin)
对于收据中我希望能够显示在admin /收益指数的采购总量每增加购买量。
所以
Receipt 1
purchase 1 = 100.00
purchase 2 = 200.00
在保存该收据并返回到收货指数我希望能够查看每个收到的总量。这样收到1将显示“收据号码”,“店” ......共(300.00)
那么,你需要什么帮助?我没有看到自己试图解决它,所以你需要帮忙计算总数,或者在管理列表视图中显示它? –
@ user3811134你在'fieldsets'和'RECEIPT_TYPE_CHOICES'中有额外的逗号。 –