覆盖get_FOO_display()停止工作

时间:2015-05-13 16:41:19

标签: django django-models

有点奇怪的故事:

我实现了get_FOO_display()的覆盖方法,但它突然停止了!我的意思是我看到我的方法是跳过的,只有django实现的方法工作。我无法找到原因。我比较了其他提交(git)的代码,没有什么可以影响这个。当我恢复提交它再次有效时它有什么好笑的。

是的我知道你会说我忽略了某些事情,但我检查了几次代码,我的朋友也检查过代码而且什么都没有。

我只是希望某人有类似的问题,并展示如何处理或有人知道为什么它可以停止工作。

这是我的代码的一部分:

class UserProfile(models.Model):
    marital_status = models.IntegerField(
       verbose_name=_('stan cywilny'),
       choices=i18n_const.MARITAL_STATUS_CHOICES,
       null=True, blank=True, default=None)

    def get_marital_status_display(self):
        if self.user.is_woman:
            i18n = dict(i18n_const.MARITAL_STATUS_CHOICES_WOMAN)
        else:
            i18n = dict(i18n_const.MARITAL_STATUS_CHOICES)
        if self.martial_status is not None:
            return force_text(i18n[self.marital_status])
        else:
            return ''

1 个答案:

答案 0 :(得分:0)

简单地覆盖它从来没有对我有用。函数get_FOO_display是在加载模型后创建的,因此可能会被django覆盖。

检查我的回答here,找出适合我的解决方案。