@@ -475,23 +475,26 @@ def _register_single_model(self, model, opts):
475475
476476 # Substitute original field with descriptor
477477 model_fallback_languages = getattr (opts , 'fallback_languages' , None )
478+ model_fallback_languages_per_field = getattr (opts , 'fallback_languages_per_field' , {})
478479 model_fallback_values = getattr (opts , 'fallback_values' , NONE )
479480 model_fallback_undefined = getattr (opts , 'fallback_undefined' , NONE )
480481 for field_name in opts .local_fields .keys ():
481482 field = model ._meta .get_field (field_name )
482483 field_fallback_value = parse_field (model_fallback_values , field_name , NONE )
483484 field_fallback_undefined = parse_field (model_fallback_undefined , field_name , NONE )
485+ field_fallback_language = \
486+ model_fallback_languages_per_field .get (field_name , model_fallback_languages )
484487 descriptor = TranslationFieldDescriptor (
485488 field ,
486- fallback_languages = model_fallback_languages ,
489+ fallback_languages = field_fallback_language ,
487490 fallback_value = field_fallback_value ,
488491 fallback_undefined = field_fallback_undefined )
489492 setattr (model , field_name , descriptor )
490493 if isinstance (field , ForeignKey ):
491494 # We need to use a special descriptor so that
492495 # _id fields on translated ForeignKeys work
493496 # as expected.
494- desc = TranslatedRelationIdDescriptor (field_name , model_fallback_languages )
497+ desc = TranslatedRelationIdDescriptor (field_name , field_fallback_language )
495498 setattr (model , field .get_attname (), desc )
496499
497500 # Set related field names on other model
0 commit comments