如何在管理员和模板中从模型def __str__执行不同的数据表示

时间:2016-04-29 11:43:11

标签: django django-models

我需要在def中显示来自def str 的信息 self.name + self.last_name,但同时我只需要在模板中显示名称值。我怎么能这样做?

现在我看到两个

的self.name + self.last_name相同

2 个答案:

答案 0 :(得分:1)

您可以在模型中为管理页面定义自定义方法,并使用__str__方法进行其他操作

def admin_name(self):
    return '{} {}'.format(self.name, self.last_name)

admin_name.short_description = 'Full name'

并将其添加到list_display

中管理模型表示的admin.py

答案 1 :(得分:0)

在不同的视图中,__str__方法的行为方式不同。

如果您不想在模板中使用__str__方法,请改用单个属性:

{{ user.name }}