Как программно заполнить или создать filer.fields.image.FilerImageField?
У меня есть некоторый класс модели с filer.fields.image.FilerImageField в качестве поля.
from filer.fields.image import FilerImageField
class ModelName(Model):
icon = FilerImageField(null=True, blank=True)
Как программно создать или заполнить поле значка, если у меня есть локальный путь к файлу изображения?
1 ответ
Решение
Вы можете подойти к этому так:
from django.contrib.auth.models import User
from django.core.files import File
from filer.models import Image
filename = 'file'
filepath = 'path/to/file'
user = User.objects.get(username='testuser')
with open(filepath, "rb") as f:
file_obj = File(f, name=filename)
image = Image.objects.create(owner=user,
original_filename=filename,
file=file_obj)
instance = ModelName(icon=image)
instance.save()
изображение является примером filer.models.Image
назначьте его атрибуту значка экземпляра модели, FilerImageField
справлюсь за вас.