在模型保存Django的多对多字段中命名文件

问题描述

我想根据其他模型字段(特别是多对多字段)保存具有特定名称的图像。当我尝试访问标签post_save(或son save())时出现问题标签

def path_to_upload(instance,filename):
  ext = filename.split('.')[-1]
  if instance.category:
    upload_to = 'images/' + instance.category.category_dir
    filename = 'Meme-{}-{}.{}'.format(instance.category.title,uuid4().hex,ext)
  else:
    upload_to = 'images/uncategorized/'
    filename = 'Meme-{}-{}.{}'.format('uncategorized',ext)
  return os.path.join(upload_to,filename)

class Meme(models.Model):
  title = models.CharField(max_length=1024,default='')
  category = models.ForeignKey(Category,null=True,on_delete=models.PROTECT)
  tags = TaggableManager()
  image = models.ImageField(upload_to=path_to_upload,default='')
  image_thumbnail = ImageSpecField(source='image',processors=[ResizetoFill(350,200)],format='JPEG',options={'quality': 50})
  slug = models.SlugField(max_length=355,blank=True,default='')



def save_meme(sender,instance,**kwargs):
  print(instance.tags.all())

post_save.connect(save_meme,sender=Meme)

print 上,它给我空的QuerySet

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...