我已经超越了(被覆盖?) the get_FOO_display()
django模型类的方法(参见:doc参考 https://docs.djangoproject.com/en/1.10/ref/models/instances/#django.db.models.Model.get_FOO_display)返回一些不同的选择字段映射。但是,从 django 模板调用此函数时{{ model_object.get_FOO_display }}
调用基类方法而不是新的重写方法。
我读了源代码django/db/models/base.py https://github.com/django/django/blob/master/django/db/models/base.py#L969看起来这不是一些常规方法,而是为模型字段动态创建的。(如果我弄错了请告诉我)
有没有办法可以解析模板中覆盖的方法?
请参阅此代码以了解我的问题的本质:
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
字典,不,我首先不能将要显示的内容保留在选择字典中。
让我知道是否有任何可能的方法可以使此模板调用工作。
Thanks.
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)