Overwrites model's ``_save_table`` method to save translations after instance
        has been saved (required to retrieve the object ID for ``Translation``
        model).

        Preferred over overriding the object's ``save`` method
        to ensure that `pre_save` and ``post_save`` signals happen
        respectively before and after the translations have been saved to the database.

        Thus ``pre_save`` signals have access to the ``has_changed`` attribute on translated fields
        before the translations are saved and the attribute is reset.
        And `post_save`` signals always have access to the updated translations.

def _save_table(
        self,
        raw=False,
        cls=None,
        force_insert=False,
        force_update=False,
        using=None,
        update_fields=None,
    ):
        """
        Overwrites model's ``_save_table`` method to save translations after instance
        has been saved (required to retrieve the object ID for ``Translation``
        model).

        Preferred over overriding the object's ``save`` method
        to ensure that `pre_save` and ``post_save`` signals happen
        respectively before and after the translations have been saved to the database.

        Thus ``pre_save`` signals have access to the ``has_changed`` attribute on translated fields
        before the translations are saved and the attribute is reset.
        And `post_save`` signals always have access to the updated translations.
        """
        updated = super(ModelMixin, self)._save_table(
            raw=raw,
            cls=cls,
            force_insert=force_insert,
            force_update=force_update,
            using=using,
            update_fields=update_fields,
        )
        self._linguist.decider.objects.save_translations([self])
        return updated