Saving localized content

Note

All examples below assume a model declared like this:

from localized_fields.models import LocalizedModel
from localized_fields.fields import LocalizedField


class MyModel(LocalizedModel):
    title = LocalizedField()

Individual assignment

obj = MyModel()
obj.title.en = 'Hello'
obj.title.nl = 'Hallo'
obj.save()

Individual dynamic assignment

obj = MyModel()
obj.title.set('en', 'Hello')
obj.title.set('nl', 'Hallo')
obj.save()

Multiple assignment

obj = MyModel()
obj.title = dict(en='Hello', nl='Hallo')
obj.save()

obj = MyModel(title=dict(en='Hello', nl='Hallo'))
obj.save()

obj = MyModel.objects.create(title=dict(en='Hello', nl='Hallo'))

Default language assignment

obj = MyModel()
obj.title = 'Hello' # assumes value is in default language
obj.save()

obj = MyModel(title='Hello') # assumes value is in default language
obj.save()

obj = MyModel.objects.create(title='title') # assumes value is in default language

Array assignment

obj = MyModel()
obj.title = ['Hello', 'Hallo'] # order according to LANGUAGES
obj.save()

obj = MyModel(title=['Hello', 'Hallo']) # order according to LANGUAGES
obj.save()

obj = MyModel.objects.create(title=['Hello', 'Hallo']) # order according to LANGUAGES