我在用模型翻译翻译django-eav字段时遇到了奇怪的麻烦。我想翻译 EnumValue 字段。translations.py 中的代码 这里是value
class EnumValueTranslationOptions(TranslationOptions):
fields = ('value', )
translator.register(EnumValue, EnumValueTranslationOptions)
在eav value
/models.py 中:
class EnumValue(models.Model):
value = models.CharField(_(u"value"), db_index=True,
unique=True, max_length=50)
icon = models.ImageField(upload_to='enumvalue_icons/',blank=True,null=True, max_length=300, verbose_name=_('Icon'))
问题是,我已经在数据库中有很多 EnumValues。当我编写此翻译代码并进行迁移时,旧值就会消失。对象仍然存在其他字段,例如icon
,但值为空。如果我尝试添加以前存在的价值,它会说:价值已经存在。如果我评论翻译代码并进行迁移,旧值就会恢复原状。为什么会这样?