Patch db_column of translation fields in migration files (close #264).

This commit is contained in:
Jacek Tomaszewski 2014-09-07 21:42:05 +02:00
parent e59cf5a4cd
commit 395771d227

View file

@ -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):