Django无法添加管理页面model.py list_display ='sum_amount'

时间:2017-11-22 22:15:02

标签: python django django-admin

如何添加(list_display =)并显示管理页面?当我尝试启动服务器时,我得到:

(admin.E108) The value of 'list_display[2]' refers to 'sum_amount', 
which is not a callable, an attribute of 'OrderAdmin', 
or an attribute or method on

我的model.py:

 class Order(models.Model):
        first_name = models.CharField(max_length=50)
        last_name = models.CharField(max_length=50)
        city = models.CharField(max_length=100)
        created = models.DateTimeField(auto_now_add=True)
        updated = models.DateTimeField(auto_now=True)
         class Hesapla(models.Model):
        talepid = models.ForeignKey(Order, on_delete=models.CASCADE)
        paid = models.BooleanField(default=False)
        price = models.DecimalField(max_digits=10, decimal_places=2)
        quantity = models.PositiveIntegerField(default=1)

       def _get_total(self):
           "Returns the total"
           return self.price * self.quantity
           property(_get_total)

我的admin.py

from django.contrib import admin


from orders.models import Order, Hesapla

class HesaplaInline(admin.StackedInline):
    model = Hesapla
    extra = 3

class OrderAdmin(admin.ModelAdmin):
    fieldsets = [
        (None,               {'fields': ['first_name']}),
        ('city', {'fields': ['last_name'], 'classes':['collapse']}),
    ]
    inlines = [HesaplaInline]
    list_display = ['first_name','last_name','sum_amount']

class Meta:
    model = Order
admin.site.register(Order, OrderAdmin)

0 个答案:

没有答案