3
在Django管理站點中是否有自然的方式顯示模型方法或屬性?在我來說,我有一個字符是模型的一部分基礎的統計數據,但其他的東西,如狀況的影響,其影響該統計總的計算:如何從Django Admin中調用模型方法或屬性?
class Character(models.Model):
base_dexterity = models.IntegerField(default=0)
@property
def dexterity(stat_name):
total = self.base_dexterity
total += sum(s.dexterity for s in self.status.all()])
return total
這將是很好,如果我可以顯示總在該字段旁邊計算統計信息以更改Change Character管理頁面中的基本統計信息,但我不清楚如何將該信息合併到頁面中。從docs
現在這些方法最好在Admin類中定義,而不是模型本身。只要記住它然後需要一個額外的參數,'obj',這是模型實例。 – 2010-05-20 06:45:38
@DanielRoseman在Admin類中這個方法看起來像這樣嗎? 'def colored_name(self,obj): return'%s%s'%(self.color_code,self.first_name,self.last_name) colored_name.allow_tags = True' 這個方法仍然和Dmitry的例子一樣嗎?即'list_display =('colored_name')' – 2013-02-08 13:46:22
@DanielRoseman這可以與'fieldsets'一起使用嗎?我在'fieldsets'中使用這個問題時遇到了麻煩。 – 2013-02-08 15:37:20