8

フィールドとして filer.fields.image.FilerImageField を持ついくつかのモデル クラスがあります。

from filer.fields.image import FilerImageField
class ModelName(Model):
    icon = FilerImageField(null=True, blank=True)

画像ファイルへのローカル パスがある場合、プログラムでアイコン フィールドを作成または入力する方法は?

4

1 に答える 1

19

次の方法でアプローチできます。

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()

image は のインスタンスです。それをfiler.models.ImageModel インスタンスの icon 属性に割り当てると、FilerImageField処理されます。

于 2013-12-17T14:24:10.513 に答える