From 395771d2279110cc5bb6edd1e96b6c744303a0b9 Mon Sep 17 00:00:00 2001 From: Jacek Tomaszewski Date: Sun, 7 Sep 2014 21:42:05 +0200 Subject: [PATCH] Patch db_column of translation fields in migration files (close #264). --- modeltranslation/fields.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/modeltranslation/fields.py b/modeltranslation/fields.py index 01b4e36..9885c0d 100644 --- a/modeltranslation/fields.py +++ b/modeltranslation/fields.py @@ -139,8 +139,11 @@ class TranslationField(object): self.blank = False # Adjust the name of this field to reflect the language - self.attname = build_localized_fieldname(self.translated_field.name, self.language) + self.attname = build_localized_fieldname(self.translated_field.name, language) self.name = self.attname + if self.translated_field.db_column: + self.db_column = build_localized_fieldname(self.translated_field.db_column, language) + self.column = self.db_column # Copy the verbose name and append a language suffix # (will show up e.g. in the admin). @@ -181,14 +184,6 @@ class TranslationField(object): def __hash__(self): return hash((self.creation_counter, self.language)) - def get_attname_column(self): - attname = self.get_attname() - if self.translated_field.db_column: - column = build_localized_fieldname(self.translated_field.db_column, self.language) - else: - column = attname - return attname, column - def formfield(self, *args, **kwargs): """ Returns proper formfield, according to empty_values setting @@ -251,6 +246,8 @@ class TranslationField(object): name, path, args, kwargs = self.translated_field.deconstruct() if self.null is True: kwargs.update({'null': True}) + if 'db_column' in kwargs: + kwargs['db_column'] = self.db_column return six.text_type(self.name), path, args, kwargs def south_field_triple(self):