3

如何创建带有 Django 模型的实例FileField

例如,给定一个简单的模型

from django.db import models

class FileModel(models.Model):
    model_file = models.FileField(upload_to='files')

如何创建 的实例FileModel,并为该字段传递现有文件model_file

4

1 回答 1

5

您可以打开文件系统上的现有文件,将其包装在 DjangoFile实例中,然后直接将其传递给字段:

>>> from django.core.files import File
>>> from myproject.myapp.models import FileModel
>>> with open('/path/to/existing_file.txt') as f:
...     wrapped_file = File(f)
...     m = FileModel(model_file=wrapped_file)
...     m.save()
...
>>> m.model_file.name
u'files/existing_file.txt'
于 2013-06-14T21:50:47.870 回答