有点奇怪的故事:
我实现了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 ''
答案 0 :(得分:0)
简单地覆盖它从来没有对我有用。函数get_FOO_display是在加载模型后创建的,因此可能会被django覆盖。
检查我的回答here,找出适合我的解决方案。