Django admin list_display没有显示模型方法返回项



我无法获得admin的list_display来显示来自模型方法的信息,但是相同的方法在更改页面上的字段集中显示得很好。我想我已经修复了所有关于这个话题的其他问题/答案中存在的错误,但我似乎无法弄清楚我做了什么。如有任何帮助,我将不胜感激。

管理:

class StudentAdminConfig(admin.ModelAdmin):
list_dispaly = ('name', 'get_total_funds')
fieldsets=(
(None, {'fields': ('name', 'get_total_funds')}),
)
readonly_fields = ('get_total_funds',)
admin.site.register(Student, StudentAdminConfig)

模型:(注意:还有另一个模型FundsEvent与Student有多对多关系)

class Student(models.Model):
name = models.CharField(max_length=255)
def get_total_funds(self):
events = self.get_funds_events()
total = float(0)
for event in events:
if event.income:
total += float(event.amount)
else:
total -= float(event.amount)
return f'${total:.2f}'
get_total_funds.short_description = "Total Funds"
def get_funds_events(self):
return FundsEvent.objects.filter(students_attended=self)
def __str__(self):
return self.name

关于这个list_display问题的令人讨厌的事情是它没有给出任何我可以追溯到的错误,它只是显示没有"Total fund"列"的页面。而且,我花了很多时间在这个功能上,它甚至不是那么重要的功能,只是为了方便我,因为我是唯一一个会在这个特定项目中看到这个显示的人,但我投入了足够的时间,我真的想弄清楚,哈哈。

再次感谢。

如果修改

中的错别字会发生什么?
class StudentAdminConfig(admin.ModelAdmin):
list_dispaly = ('name', 'get_total_funds')
fieldsets=(
(None, {'fields': ('name', 'get_total_funds')}),
)
readonly_fields = ('get_total_funds',)
admin.site.register(Student, StudentAdminConfig)

:

class StudentAdminConfig(admin.ModelAdmin):
list_display = ('name', 'get_total_funds')
fieldsets=(
(None, {'fields': ('name', 'get_total_funds')}),
)
readonly_fields = ('get_total_funds',)
admin.site.register(Student, StudentAdminConfig)

它适合我…

from django.contrib import admin
from .models import Student
class StudentAdminConfig(admin.ModelAdmin):
list_display = ['name', 'email', 'phone']

这应该是与StudentAdminConfig

admin.site.register(Contact, StudentAdminConfig)

相关内容

  • 没有找到相关文章

最新更新