如何以编程方式填充或创建filer.fields.image.FilerImageField?

Ser*_*gey 6 django django-filer

我有一些模型类,其中filer.fields.image.FilerImageField作为字段.

from filer.fields.image import FilerImageField
class ModelName(Model):
    icon = FilerImageField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

如果我有一个图像文件的本地路径,如何以编程方式创建或填充图标字段?

iMo*_*om0 16

你可以这样接近它:

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()
Run Code Online (Sandbox Code Playgroud)

image是一个实例filer.models.Image,将其分配给Model实例的icon属性,FilerImageField将为您处理.