2015-09-07 166 views
8

我想顯示django的list_display屬性中相關對象的計數。 例如我們有一個類別字段,我們要顯示出許多博客文章如何發佈這一類Django:顯示管理中相關對象的計數list_display

到目前爲止,我已經試過這一點:

admin.py:

from .models import Category 

class CategoryAdmin(admin.ModelAdmin): 
    def category_post_count(self, obj): 
     return obj.post_set.count 
category_post_count.short_description = "Posts Count" 

list_display = ['category', 'category_post_count'] 

模型。潘岳:

class Category(models.Model): 
    category = models.CharField(max_length=25) 

class Post(models.Model): 
    category = models.ForeignKey(Category, null=True, blank=False) 

回答

7

.count是一個功能,所以你必須在最後附加括號()叫它:

def category_post_count(self, obj): 
    return obj.post_set.count() 
+0

完美謝謝 – samix73

+1

嘿,我有一個單獨的問題。我正在學習Django。你能指出我的正確文件,解釋爲什麼這個工程。 (即這種顯示admin中的ForeignKey對象記錄總數的方法,我對函數category_post_count的解釋/文檔感興趣)。謝謝 – Deep

+0

@Deep你可以看看這個:https://docs.djangoproject.com/en/2.0/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display – ozgur