Django SlugField“此字段是必需的”错误

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

在我的django项目中有一个Blog模型,我愿意为它的标题创建一个slug:

class Blog(models.Model):
    title = models.CharField(default='', max_length=100, verbose_name=u'عنوان')
    slug = models.SlugField(max_length=100, allow_unicode=True)
    # other stuffs
    def save(self, *args, **kwargs):
        self.slug = slugify(self.title, allow_unicode=True)
        super(Blog, self).save(*args, **kwargs)

    def __str__(self):
        return self.slug

在django admin我不填充slug字段,当我点击保存按钮时它说:

这是必填栏。

是不是我的代码假设自动创建slug?还有什么我应该做的吗?

django slugify
1个回答
1
投票

你应该为你的slug字段设置blank=True。这样就不需要了,当运行save方法时,它将被设置为slugified title。

class Blog(models.Model):
    title = models.CharField(default='', max_length=100, verbose_name=u'عنوان')
    slug = models.SlugField(max_length=100, allow_unicode=True, blank=True)
© www.soinside.com 2019 - 2024. All rights reserved.