如何添加(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)