创建新实体后如何保存文件?

时间:2020-05-23 14:16:15

标签: django

在某些情况下,新创建的实体将在创建过程中提交文件。

我有此代码:

def upload_path(instance, filename):
return '/'.join(['menu_item_images', str(instance.id), filename])

class MenuItem(ModelBase):
name = models.CharField(max_length=100, blank=True, null=True)
description = models.TextField(blank=True, null=True)
ingredients = models.TextField(blank=True, null=True)
active = models.BooleanField(default=True)
removed = models.BooleanField(default=False)
image = models.ImageField(blank=True, null=True, upload_to=upload_path)
user = models.ForeignKey(
    settings.AUTH_USER_MODEL,
    on_delete=models.CASCADE
)

def __str__(self):
    return self.name

在我第一次运行它并且实例ID为“ None”之前,这看起来还可以。因此,似乎在创建实体之前已保存文件。我想通过MenuItem ID管理这些文件。现在,我将它们保存到一个唯一的文件夹,但是我打算只更新文件名。但是我仍然需要一个唯一的标识符。

以后是否有保存文件的方法,或者有一种创建可能存储在MenuItem中的唯一块的方法的想法?

0 个答案:

没有答案
相关问题