每次上传图像时创建一个打开新文件夹的功能

问题描述 投票:0回答:2

我想创建一个函数,每次用户上传图像时,都会使用其用户名(designer_name)创建一个新文件夹,并将每个标题与每个上传的图像相关联吗?

如果这是最好的方法?

模型

class Post(models.Model):
    designer_name = models.ForeignKey(User, on_delete=models.CASCADE)
    design = models.ImageField(
        blank=False, null=True, upload_to='new designs')
    title = models.CharField(max_length=100)
    date_posted = models.DateTimeField(default=timezone.now)

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("score:post-detail", kwargs={"pk": self.pk})
django
2个回答
0
投票
upload_to=…

Note:class Post(models.Model): def upload_design_to(self, filename): return f'{self.designername}/{title}/{filename}' designer_name = models.ForeignKey(User, on_delete=models.CASCADE) design = models.ImageField( blank=False, null=True, upload_to=upload_design_to) title = models.CharField(max_length=100) date_posted = models.DateTimeField(default=timezone.now) def __str__(self): return self.title def get_absolute_url(self): return reverse("score:post-detail", kwargs={'pk': self.pk})确实

not存储字符串的字符串表示形式(或名称)。列中的引用对象,它存储记录的主键在ForeignKey字段后缀为_id的列中引用。因此ForeignKey通常以ForeignKey后缀结尾。你可能想要考虑将_name字段重命名为designer_name

© www.soinside.com 2019 - 2024. All rights reserved.