以下にこの関数があり、翻訳する前にこれらの変数がそれぞれ存在しないかどうかも確認する必要があります。
def save(self):
# add an an if condition to check all the below variables if they are none
# if self.name_es or ..... is not None:
self.name_es = translateField(self.name, 'es') if not None
self.name_ar = translateField(self.name, 'ar')
self.description_es = translateField(self.description, 'es')
self.description_ar = translateField(self.description, 'ar')
super(City, self).save()
これは翻訳機能です:
def translateField(text, lang):
try:
return client.translate(text, lang)
except:
pass
問題は、モデルの多くのクラスに上記のものがあることです。各保存関数で、異なる変数に対して同じことをしています。
コードの量を最小限に抑えるために、ここで何ができますか? 「_es」と「_ar」は、翻訳の出力を返すために必要なこれらの変数に常に追加されます。