我正在开发一个Django(v.1.5.1)网站,我有几个模型,例如RegisteredUser
和Startup
。这两个模型中的每一个都具有Many2ManyField
到Area
模型。 Area
包含两个字段:name
和slug
(由name
构建)。
此设计适用于在相同区域内查找用户和初创公司,但在尝试对其进行国际化时存在很大问题。在此设计中,用户可以创建区域并将它们自己附加到RegisteredUser
和Startup
个实例。但是,如果使用不同语言创建相同区域,则名为computer science
的区域将与informática
(西班牙语版本)不同。
这个想法是用户创建区域就像它们是标签一样,但我认为这会带来如上所述的问题。
所以我想知道可能的解决方案:
对于我正在使用django-transmeta
的翻译。
所以,我很高兴看到你对如何处理这个问题的意见和建议。
非常感谢!
答案 0 :(得分:0)
最后,我通过引入一个新层解决了这个问题,如下所示:
存在模型区域和资源,两者现在都可以翻译并由管理员创建,当前用户不允许创建或修改它们。这些模型将更加抽象,以便进行匹配。
但是,为了增加“精确度”,我们添加了两个新模型:AreaTag
和ResourceTag
。这两个模型由用户创建,不会被翻译。所以我们可以使用“应用程序”和“applicación”areatags
,但由于用户之前选择了Area
,我们可以使用Area
进行搜索,这对两者都很常见案例。因此,无需在级别Tag
中进行搜索即可找到亲和力。
希望这有助于某些人尝试做类似的事情! :)