mirror of
https://github.com/SectorLabs/django-localized-fields.git
synced 2025-04-24 19:32:53 +03:00
Merge branch 'master' of https://github.com/SectorLabs/django-localized-fields
This commit is contained in:
commit
cb7fda5abc
@ -1,3 +1,4 @@
|
||||
import json
|
||||
import datetime
|
||||
import posixpath
|
||||
|
||||
@ -149,3 +150,11 @@ class LocalizedFileField(LocalizedField):
|
||||
defaults['required'] = False
|
||||
defaults.update(kwargs)
|
||||
return super().formfield(**defaults)
|
||||
|
||||
def value_to_string(self, obj):
|
||||
value = self.value_from_object(obj)
|
||||
if isinstance(value, LocalizedFileValue):
|
||||
return json.dumps({k: v.name for k, v
|
||||
in value.__dict__.items()})
|
||||
else:
|
||||
return super().value_to_string(obj)
|
||||
|
@ -2,6 +2,7 @@ import os
|
||||
import shutil
|
||||
import tempfile as sys_tempfile
|
||||
import pickle
|
||||
import json
|
||||
|
||||
from django import forms
|
||||
from django.test import TestCase, override_settings
|
||||
@ -118,6 +119,20 @@ class LocalizedFileFieldTestCase(TestCase):
|
||||
filename = field.generate_filename(instance, 'test', 'en')
|
||||
assert filename == 'en_test'
|
||||
|
||||
@classmethod
|
||||
@override_settings(LANGUAGES=(('en', 'English'),))
|
||||
def test_value_to_string(cls):
|
||||
"""Tests whether the :see:LocalizedFileField
|
||||
class's :see:value_to_string function works properly."""
|
||||
|
||||
temp_file = File(tempfile.NamedTemporaryFile())
|
||||
instance = cls.FileFieldModel()
|
||||
field = cls.FileFieldModel._meta.get_field('file')
|
||||
field.upload_to = ''
|
||||
instance.file.en.save('testfilename', temp_file)
|
||||
expected_value_to_string = json.dumps({'en': 'testfilename'})
|
||||
assert field.value_to_string(instance) == expected_value_to_string
|
||||
|
||||
@staticmethod
|
||||
def test_get_prep_value():
|
||||
"""Tests whether the :see:get_prep_value function returns correctly
|
||||
|
Loading…
x
Reference in New Issue
Block a user