有沒有辦法來定義SHORT_DESCRIPTION在作爲的ModelAdmin調用現場 - 有時人願意提供列名,內部加了額外的動態信息。Django管理SHORT_DESCRIPTION如可贖回
還是有什麼醜陋的黑客是完成同樣的目標是什麼?
有沒有辦法來定義SHORT_DESCRIPTION在作爲的ModelAdmin調用現場 - 有時人願意提供列名,內部加了額外的動態信息。Django管理SHORT_DESCRIPTION如可贖回
還是有什麼醜陋的黑客是完成同樣的目標是什麼?
據我知道/記得特性只能在新的樣式類定義,類定義。所以,你的ModelAdmin
領域必須解決與所需性質的可調用對象。這個片段看起來對我來說,它應該允許:
https://djangosnippets.org/snippets/2447/
領域本身成爲解析爲VotesToday
類的一個實例,該實例short_description
也是性質的性質。儘管自djangosnippet的發佈很多事情都變了 -
彼得DeGlopper的答案提供所需的方向。
這確實是工作:
class MyAdmin(admin.ModelAdmin):
list_display = ('my_callable')
class MyCallable:
def __call__(self, obj):
return 42
@property
def __name__(self):
return 'Galaxy'
@property
def my_callable(self):
if not hasattr(self, __my_callable):
self.__my_callable = self.MyCallable()
return self__my_callable
重要的是,該MyAdmin
對象不傳遞到MyCallable.__call__()
通話 - 如果你需要訪問它,通過它在__init__
初始化自己。
你的答案包含正確的指針,儘管該djangosnippet的代碼是不正確的,至少Django的1.5。 – qdot