我正在尝试在Django中为我的项目创建多语言文本字段。我使用JSON将翻译后的文本存储在数据库中,并在字段中编写自定义代码以使用正确的语言检索它。例如:
class MyModel(models.Model):
text = MultilingualTextField(default_language="en")
mymodel = MyModel.objects.create(text="Welcome")
mymodel.text.val('fr','Bienvenue')
#...
mymodel.save()
当存储在数据库中时它变为
{"en":"Welcome","fr":"Bienvenue","es":"Bienvenida"}
我们可以致电model.text.val('es')
以获得“Bienvenida”。
我使用json转储和json加载来存储和检索数据库值。我的问题是:这是一个很好的方法吗?有没有人有更好的技术?
答案 0 :(得分:1)
你可以看看Django Model Translation。它不会将数据存储在json中,而是为每种语言创建不同的db列(例如text.en,text_fr ..),我认为这更好。