This commit is contained in:
Swen Kooij 2017-01-12 16:57:37 +02:00
commit 81c21d8d8f
2 changed files with 25 additions and 1 deletions

View File

@ -23,7 +23,11 @@ class LocalizedModel(models.Model):
continue
value = getattr(self, field.name, None)
if not isinstance(value, LocalizedValue):
if isinstance(value, dict):
value = LocalizedValue(value)
else:
value = LocalizedValue()
setattr(self, field.name, value)

View File

@ -27,3 +27,23 @@ class LocalizedModelTestCase(TestCase):
obj = cls.TestModel()
assert isinstance(obj.title, LocalizedValue)
@classmethod
def test_model_init_kwargs(cls):
"""Tests whether all :see:LocalizedField
fields are assigned an empty :see:LocalizedValue
instance when the model is instanitiated."""
data = {
'title': {
'en': 'english_title',
'ro': 'romanian_title',
'nl': 'dutch_title'
}
}
obj = cls.TestModel(**data)
assert isinstance(obj.title, LocalizedValue)
assert obj.title.en == 'english_title'
assert obj.title.ro == 'romanian_title'
assert obj.title.nl == 'dutch_title'