Small optimization, don't loop twice over trans_fields.

This commit is contained in:
Dirk Eschler 2013-02-12 12:33:33 +01:00
parent 966d5ee962
commit 2ab73babe0

View file

@ -244,13 +244,14 @@ class TranslationAdmin(TranslationBaseModelAdmin, admin.ModelAdmin):
fieldsets = [('', {'fields': untranslated_fields},)] if untranslated_fields else []
for orig_field, trans_fields in self.trans_opts.fields.items():
if any(f in [f.name for f in trans_fields] for f in flattened_fieldsets):
trans_fieldnames = [f.name for f in sorted(trans_fields, key=lambda x: x.name)]
if any(f in trans_fieldnames for f in flattened_fieldsets):
# Extract the original field's verbose_name for use as this
# fieldset's label - using ugettext_lazy in your model
# declaration can make that translatable.
label = self.model._meta.get_field(orig_field).verbose_name
fieldsets.append((label, {
'fields': [f.name for f in sorted(trans_fields, key=lambda x: x.name)],
'fields': trans_fieldnames,
'classes': ('mt-fieldset',)
}))