django模型中的覆盖保存方法不起作用

时间:2018-04-24 07:53:13

标签: django django-models

我有一个具有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

提前致谢。

0 个答案:

没有答案