我正在建模一个服务目录,我在其中将服务分组为不同的类别。每个类别都是一个模型,其中包含与此处不相关的其他字段的描述。
class Category(models.Model):
description = models.TextField()
...
这个想法是随着平台的发展增加额外的服务类别(甚至子类别)。我需要有几种语言的描述。
我已经考虑过不同的方法来做到这一点,我需要决定哪一种更清洁。
第一种方法。模型描述为带有描述和语言的数据库模型,因此我使用语言代码进行过滤并在管理员上编辑它们
class CategoryDescription(models.Model):
description = models.TextField()
lang = models.CharField(max_length=2)
describes = models.ForeingKey(Category)
class Category(models.Model):
...
第二种方法。删除描述字段并将类别的标题用作上下文标记。就像是
class Category(models.Model):
one_word_name = models.CharField(max_length=20)
...
然后在模板中。
{% trans "category_description" context category.one_word_name %}
但是,我在这里担心的是,是否有一种自动方法来生成要标记为翻译的 id?我该怎么做?