django:从django模板调用重写模型方法

时间:2016-11-11 07:33:35

标签: python django django-models

我已经覆盖(覆盖?) django模型类的get_FOO_display()方法(请参阅:doc reference)以返回一些不同的选择字段映射。但是,在从django模板调用此函数时,{{ model_object.get_FOO_display }}调用基类方法而不是新的重写方法。

我阅读了源代码django/db/models/base.py,看起来这不是一些常规方法,而是为模型字段动态创建。 (如果我弄错了,请告诉我)

有没有办法可以从模板中解析出被覆盖的方法?

请参阅此代码以了解我的问题的本质:

class UserStatus(models.Model):
    invite_status = models.CharField(max_length=15, choices=USER_STATUS, default='new')

    # Overridden method
    def get_invite_status_display(self):
        return dict(USER_STATUS_DISPLAY).get(self.invite_status)

是的,我需要显示与choices词典不同的内容而不是,我不能在首选的词典中保留我要显示的内容。

如果有任何可能的方法让这个模板调用工作,请告诉我。

感谢。

0 个答案:

没有答案