问题描述
我正在为我的项目在Django中创建多语言文本字段。我使用JSON将翻译的文本存储在数据库中,并在字段中编写自定义代码以使用正确的语言进行检索。例如:
I'm trying to create Multilingual text field in Django for my project. I use JSON to store translated text in database and write custom code in field to retrieve it in the right language. For example:
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。
And we can call model.text.val('es')
to have "Bienvenida".
我使用json dumps和json加载来存储和检索数据库值。我的问题是:这是一个好办法吗?有人有更好的技术吗?
I use json dumps and json loads for store and retrieve database value. My Question is: is this a good way to do this? Does anyone has better technique?
推荐答案
你可以看看。它不存储json中的数据,而是为每种语言(例如text_en,text_fr ..)创建不同的db列,我认为更好。
You can take a look Django Model Translation . It doesn't store the data in json but rather creates different db columns for each language(ex. text_en, text_fr ..) which I think is better.
这篇关于自定义Django MultilingualTextField模型字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!