我已经覆盖(覆盖?) 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
词典不同的内容而不是,我不能在首选的词典中保留我要显示的内容。
如果有任何可能的方法让这个模板调用工作,请告诉我。
感谢。