【问题标题】:How to set the value of the original field with django modeltranslation?django modeltranslation如何设置原始字段的值?
【发布时间】:2025-11-27 08:15:02
【问题描述】:

我一直在使用django-modeltranslation 添加德语模型翻译,但我发现我不小心将原始字段值(应该是英语)设置为德语。所以现在在我的数据库中:

  • name:德文值(应该是英文)
  • name_en:英文(正确)
  • name_de: 德语(正确)

有没有办法在 Python 中或直接在 PostgreSQL 中将 name_en 值复制到 name?我已经阅读了access/read rules,但我不能 100% 确定它们如何影响我想做的事情。

【问题讨论】:

    标签: python django postgresql


    【解决方案1】:

    找到了解决方案,无需进入数据库级别即可修复它。

    from django.utils.translation import activate
    
    
    activate('en')
    
    for x in Model.objects.all():
        setattr(x, 'name', x.name)
        x.save()
    

    【讨论】:

      最近更新 更多