equal
deleted
inserted
replaced
|
1 |
|
2 from django.conf import settings |
|
3 from django.core.management.base import BaseCommand, CommandError, NoArgsCommand |
|
4 |
|
5 from modeltranslation.translator import translator |
|
6 from modeltranslation.utils import build_localized_fieldname |
|
7 |
|
8 class Command(NoArgsCommand): |
|
9 help = 'Updates the default translation fields of all or the specified'\ |
|
10 'translated application using the value of the original field.' |
|
11 # args = '[app_name]' |
|
12 |
|
13 def handle(self, **options): |
|
14 default_lang = settings.LANGUAGES[0][0] |
|
15 print "Using default language:", default_lang |
|
16 |
|
17 for model, trans_opts in translator._registry.items(): |
|
18 print "Updating data of model '%s'" % model |
|
19 for obj in model.objects.all(): |
|
20 for fieldname in trans_opts.fields: |
|
21 def_lang_fieldname = build_localized_fieldname(fieldname, default_lang) |
|
22 # print "setting %s from %s to %s." % (def_lang_fieldname, fieldname, obj.__dict__[fieldname]) |
|
23 if not getattr(obj, def_lang_fieldname): |
|
24 setattr(obj, def_lang_fieldname, obj.__dict__[fieldname]) |
|
25 obj.save() |