2

模型作爲字段添加一個函數來在Django/Python的一個模型

class A(SiteAwareModel): 

    name = models.CharField(max_length = 255, blank = False) 
    description = models.TextField(blank = True, null = True) 

    class Meta: 
     def key_count(self): 
      return B.objects.count(self) 

管理員

class AAdmin(admin.ModelAdmin): 
    list_display = ('key_count') 
    list_filter = ('key_count') 

admin.site.register(A, AAdmin) 

問題

我有一個模型A,其具有它自己的領域(名稱,描述)。此外,模型A通過使用模型B(無外鍵關係)來計算鍵數。

我想訪問管理面板中的key_count。我可以在管理員意義list_display中看到一列,但是當我嘗試在list_filter中使用它時,會引發錯誤。

'AAdmin.list_filter 1'是指'key_count',它不引用字段。

最終結果

我想打一個過濾器會顯示key_count> 10

我做了什麼(沒有成功)

我已經嘗試通過經理做在THIS博客文章的幫助下

我不想要

我不想通過編寫新的遷移來更改我的模型。

+0

此問題僅適用於django 1.3?如果存在「無外鍵關係」,那麼A和B之間的關係是什麼?你能顯示「B」字段嗎? – bsm

+0

我使用django 1.3.4是特定的。沒有FK關係bw的2表。而B包含一些常見的字段,讓我們說名字(CharField)和類型(IntegerField) –

回答

相關問題