Python django modeladmin列表\显示
我正在试着玩Django的官方教程。特别是modeladmin列表显示: 如何添加一列,显示列表中每个投票的选择数 谢谢 添加一个自定义方法(例如Python django modeladmin列表\显示,python,django,django-admin,Python,Django,Django Admin,我正在试着玩Django的官方教程。特别是modeladmin列表显示: 如何添加一列,显示列表中每个投票的选择数 谢谢 添加一个自定义方法(例如pcount),该方法返回给定Poll实例的选择数。然后可以将其添加到ModelAdmin子类中的list\u display属性中 class Poll(models.Model): ... def pcount(self): return self.choice_set.count() class PollAd
pcount
),该方法返回给定Poll
实例的选择数。然后可以将其添加到ModelAdmin
子类中的list\u display
属性中
class Poll(models.Model):
...
def pcount(self):
return self.choice_set.count()
class PollAdmin(admin.ModelAdmin):
list_display = (<other fields>, 'pcount', )
类轮询(models.Model):
...
def pcount(自身):
返回self.choice\u set.count()
类PollAdmin(admin.ModelAdmin):
列表显示=(,'pcount',)
您不需要编辑模型,要动态计算admin的列,请在ModelAdmin对象中创建一个函数,该函数接受第二个参数,这将是常规轮询模型实例。而不是像在模型中那样编写代码,您可以在这里忽略自我,因为它没有您想要的东西
class PollAdmin(admin.ModelAdmin)
list_display = (<other_fields>, 'choice_count')
def choice_count(self, model_instance):
return model_instance.choice_set.count()
类PollAdmin(admin.ModelAdmin)
列表显示=(,“选项计数”)
def choice_计数(自身、模型_实例):
返回model\u instance.choice\u set.count()
如何定义/保存投票的选项?即使每个选项中有5个选项,也会返回(无):(我在pcount
方法中添加了缺少的return
语句。你错过了吗?@M.A.:很奇怪。你能看到Django shell的Poll
实例的pcount
返回了什么吗?哈!我遇到了问题,因为大写。奇怪。这两种方法都应该有效。如果你不使用choice count A除管理员外,其他任何地方都可以在ModelAdmin
上定义此选项,如果您需要在多个地方提供选项计数,您将希望使用模型方法。