自定义Django MultilingualTextField模型字段 [英] Custom Django MultilingualTextField model field

查看:130
本文介绍了自定义Django MultilingualTextField模型字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为我的项目在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?

推荐答案

你可以看看 Django模型翻译。它不存储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模型字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆