django-model-utils
django-model-utils copied to clipboard
FieldTracker combined with modeltranslation
Problem
FieldTracker interaction with django-modeltranslation registered translated fields.
Environment
- Django Model Utils version: 3.1.1
- Django version: 1.11.10
- Python version: 2.7
- Other libraries used, if any: django-modeltranslation==0.12.2
Code snippet
# models.py
class MyModel(models.Model):
title = models.TextField(_('title'),)
tracker = FieldTracker()
def save(self, *args, **kwargs):
if self.tracker.has_changed('title_en'):
# do something
# translation.py
class MyModelTranslationOptions(TranslationOptions):
fields = ('title',)
translator.register(MyModel, MyModelTranslationOptions)
Question
As far as I've gathered, FieldTracker uses class_prepared to set the fields it is going to track, while I guess modeltranslation using the register pattern adds 'translated_lang' fields at a later point. Is there any way to delay or reinitialize tracker after the modeltranslation has done it's job.
Use case: Tracking changes per language for purposes of parsing and publishing after the change has been made and approved.