Выполните действие по сохранению встроенной модели django

#django #inline-formset

Вопрос:

У меня есть две модели, одна модель комментариев отображается как встроенная в основную модель в администраторе.

models.py:

 class MainModel(models.Model):
    customer = models.OneToOneField(Customer, on_delete=models.CASCADE)


class CommentModel(models.Model):
    main = models.ForeignKey(MainModel, on_delete=models.CASCADE, default=None)
    comment_german = CharField(blank=True, default='', null=True)
    comment_english = CharField(blank=True, default='', null=True)
 

admin.py:

 class MainModelAdmin(SimpleHistoryAdmin):
    model = MainModel
    inlines = [CommentModelInline]
    

class CommentModelInline(admin.StackedInline):
    model = CommentModel
    fields = ['comment_german', 'comment_english']
 

Предположим, я хочу автоматически перевести то, что пользователь пишет в поле comment_german, и сохранить это в поле comment_english при сохранении основной модели. Я попытался переопределить метод сохранения. Я успешно сделал это для другой модели, которая не является встроенной. Но это не работает для строк. Мне нужно что-то вроде этого:

 def save(self, *args, **kwargs):
    super().save(*args, **kwargs)
    for comment in CommentModel.objects.filter(main=self):
        if comment.comment_german != '' and comment.comment_english == '':
            comment.comment_english = comment.comment_german.translate_to_english()
 

Должен быть способ сделать это, может быть, с помощью набора форм, но я не могу понять этого.