在某些情况下,新创建的实体将在创建过程中提交文件。
我有此代码:
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中的唯一块的方法的想法?