以下のようなモデルがあります。
class MyModel(TranslatableModel):
date_created = models.DateField(
verbose_name=_('Date Created'), default=timezone.now)
source = models.CharField(max_length=100, verbose_name=('Type'))
translations = TranslatedFields(
name=models.CharField(verbose_name=_('Name'), max_length=200)
)
このモデルで update_or_create 関数を使用したい。指定された ID とソースを持つレコードをフェッチしたい。存在する場合は、その名前を 3 つの異なる言語で更新したいと考えています。それ以外の場合は、新しいレコードを作成します。次のコードを使用しました。name_en、name__en、translations__name_en; を試しました。それらのどれも機能しませんでした。get_or_create 関数も試しましたが、どれもうまくいきませんでした。
obj, created = MyModel.objects.update_or_create(
id= id,
source = 'tmp',
defaults={
'name_en': en_name,
'name_fi': fi_name,
'name_sv': sv_name,
})
get 関数と create 関数を別々に使用したくありません。update_or_create 関数または get_or_create 関数を使用して、django で翻訳されたフィールドにアクセスする方法を知りたいです。誰かがこれで私を助けてくれますか?
私の Django バージョン: Django==1.11.17