Я пытаюсь импортировать данные из модели с BinaryField
значением BinaryField
. Данные не содержат это поле, и я хочу, чтобы он был импортирован с нулевым значением в поле. Если поле уже существует в базе данных для данного id
, оно должно сохранять значение как есть.
Я удалил поле из белого списка fields
в соответствующем объекте Resource
и добавил его в черный список exclude
. Тем не менее, я получаю эту ошибку при импорте - can't pickle memoryview objects
.
Проследить:
Traceback (most recent call last):
File "/lib/python3.5/site-packages/import_export/resources.py", line 451, in import_row
original = deepcopy(instance)
File "/lib/python3.5/copy.py", line 182, in deepcopy
y = _reconstruct(x, rv, 1, memo)
File "/lib/python3.5/copy.py", line 297, in _reconstruct
state = deepcopy(state, memo)
File "/lib/python3.5/copy.py", line 155, in deepcopy
y = copier(x, memo)
File "/lib/python3.5/copy.py", line 243, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/lib/python3.5/copy.py", line 174, in deepcopy
rv = reductor(4)
TypeError: can't pickle memoryview objects
Версия пакета - django == 1.11, django-import-export == 0.6
РЕДАКТИРОВАТЬ:
class ABC(models.Model):
name = models.CharField('Name', max_length=128, blank=False, null=False)
binary_field = models.BinaryField('Some name', null=True, blank=True)
class ABCResource(resources.ModelResource):
class Meta:
model = ABC
fields = (
'id',
'name',
)
import_id_fields = ('id',)
exclude = ('binary_field',)
class ABCAdmin(ImportExportModelAdmin):
form = ABCModelForm
list_display = (
'id',
'name',
)
exclude = ('binary_field',)
resource_class = ABCResource
class ABCModelForm(forms.ModelForm):
class Meta:
model = ABC
exclude = ['binary_field']