我有一个具有ImageField的模型,我想将其命名为由AutoField生成的id,因此我会覆盖模型中的save()
方法。但是,当我在“管理”面板中创建模型实例时,图片名称将设置为None.png
。
我该如何解决?
我的models.py
是:
from django.db import models
import os
def get_image_name(instance, filename):
fn = os.path.join('img/thumbnailCategory/', str(instance.id) + '.png')
return fn
class Category(models.Model):
id = models.AutoField(primary_key=True)
title = models.CharField(max_length=50, null=False, blank=False)
c_thumbnail = models.ImageField(upload_to=get_image_name, null=False, blank=False)
def save(self, *args, **kwargs):
super(Category, self).save(*args, **kwargs)
def __str__(self):
return '%s' % self.title
提前致谢。