私はtastypieでAPIを作成しているモデルを持っています。手動で管理しているファイルへのパスを格納するフィールドがあります(FileField
ユーザーがファイルをアップロードしていないため、使用していません)。モデルの要点は次のとおりです。
class FooModel(models.Model):
path = models.CharField(max_length=255, null=True)
...
def getAbsPath(self):
"""
returns the absolute path to a file stored at location self.path
"""
...
これが私のおいしい設定です:
class FooModelResource(ModelResource):
file = fields.FileField()
class Meta:
queryset = FooModel.objects.all()
def dehydrate_file(self, bundle):
from django.core.files import File
path = bundle.obj.getAbsPath()
return File(open(path, 'rb'))
ファイルフィールドのAPIでは、これはファイルへのフルパスを返します。tastypieが実際のファイルまたは少なくともファイルへのURLを提供できるようにしたい。それ、どうやったら出来るの?コードスニペットは大歓迎です。
ありがとうございました