Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django modeladmin列表\显示_Python_Django_Django Admin - Fatal编程技术网

Python 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

我正在试着玩Django的官方教程。特别是modeladmin列表显示:

如何添加一列,显示列表中每个投票的选择数

谢谢

添加一个自定义方法(例如
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
上定义此选项,如果您需要在多个地方提供选项计数,您将希望使用模型方法。