10

以下は、Django アプリのモデルです。アプリの名前を MyApp とします。アイデアは、すべてのアプリが MEDIA_ROOT の下にフォルダーを持つことです。

class MyModel(models.Model):
    .... #Other fields
    datoteka = models.FileField(upload_to = 'MyApp',null = True)

どこかからアプリの名前を取得し、ハードコーディングされMyAppた.

これは同様の質問ですが、モデル内のリクエスト オブジェクトにアクセスできません。

4

2 に答える 2

3
from os import path

def _get_upload_to(instance, filename):
    return path.join(instance._meta.app_label, 'subdir', filename)

class MyModel(models.Model):
    ....
    datoteka = models.FileField(upload_to=_get_upload_to, ...)

「MyApp/subdir」アップロード パスになります。

于 2016-05-31T13:48:30.427 に答える