В словаре языковых книг встречаются сокращения вида:
abbrev. abbreviation
Aborig. Aboriginal
adj. adjective
adv. adverb
Afr. African
Afrik. Afrikaans
...
...
ult. ultimately
usu. usually
v. verb
var. variant
vars variants
W. West
В моем случае у меня должны быть такие же сокращения, но на разных языках, скажем:
| English | Germany | Spanish
ult. ultimately | ult. letztendlich | ult. última
usu. usually | usu. normalerweise | usu. general
v. verb | v. verb | v. verb
var. variant | var. variante | var. variante
vars variants | vars varianten | vars variantes
W. West | W. West | W. West
С передней стороны это будет что-то выбираемое в форме (выпадающий / выберите). Вы выбираете, например, «Лекарство», и оно будет заменено на «мед.»:
Детоксикация - мед. или детоксикация (детокс для краткости) [1] является
физиологическое или лекарственное удаление токсических веществ из живых
Организм
Так каким образом я должен реализовать такие отношения? У меня есть модель Word
class WordModel(models.Model):
value = models.CharField(max_length=255)
category = this should point to the abbreviations
Я мог бы сделать это, просто создав отдельную модель, такую как class AbbreviationModel:
и определив внутри все атрибуты, такие как:
abr_eng = CharField
descr_eng = CharField
abr_ger = CharField
descr_ger = CharField
abr_spa = CharField
descr_spa = CharField
В этом случае я должен создать все сокращения в базе данных, а в случае сброса базы данных мне придется повторить ту же работу снова (обычно в языковых словарях обычно более 100 сокращений). Но эти значения не являются изменяемыми, я имею в виду, что мне нужно определить эти значения только один раз и забыть о них, так что я хочу сделать это как-то программно. Есть идеи, лучшие практики, примеры? Буду очень признателен.