1

私は2つのモデルの車とプロファイルを持っています:

class Car(models.Model):
    name = models.CharField(max_length=200)
    image_file = models.ImageField(upload_to=naming, null=True, blank=True)

class Profile(models.Model):
    name = models.CharField(max_length=200)
    image_file = models.ImageField(upload_to='profiles', null=True, blank=True)

ネーミング機能が必要ですが、アップロードされたファイルをメディアディレクトリだけでなく、cars フォルダーにも配置したいと考えています。

それらをそのフォルダにアップロードし、その関数を呼び出す方法はありますか? ドキュメントでは、1 つの方法しか見つけることができず、両方の方法を見つけることはできませんでした。

前もって感謝します!

4

1 に答える 1

1

関数を同時にアップロードして呼び出すという意味がわかりませんが、関数は実際に呼び出されます。そうしないと、パスが生成されません。最初の質問では、次のことができます。

def naming(instance, file_name):                                                 
    model_name = instance.__class__.__name__
    return os.path.join(model_name, file_name)
于 2015-10-14T22:07:05.727 に答える