我有一个模型,如下所示:
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