+++ /dev/null
-# -*- coding: utf-8 -*-
-from django.conf import settings
-from django.core.management.base import (BaseCommand, CommandError,
- NoArgsCommand)
-from optparse import make_option
-
-from modeltranslation.translator import translator
-from modeltranslation.utils import build_localized_fieldname
-
-
-class Command(NoArgsCommand):
- help = 'Updates the default translation fields of all or the specified' \
- 'translated application using the value of the original field.'
-
- option_list = BaseCommand.option_list + (
- make_option('-d', '--default', action='store', dest='default', default=None), )
-
-
- def handle(self, **options):
- if options['default']:
- default_lang = options['default']
- else:
- default_lang = settings.LANGUAGES[0][0]
- print "Using default language:", default_lang
-
- for model, trans_opts in translator._registry.items():
- print "Updating data of model '%s'" % model
- for obj in model.objects.all():
- for fieldname in trans_opts.fields:
- def_lang_fieldname = \
- build_localized_fieldname(fieldname, default_lang)
- #print "setting %s from %s to %s." % \
- #(def_lang_fieldname, fieldname,
- #obj.__dict__[fieldname])
- if not getattr(obj, def_lang_fieldname):
- setattr(obj, def_lang_fieldname,
- obj.__dict__[fieldname])
- obj.save()