代码之家  ›  专栏  ›  技术社区  ›  Ghasem

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

  •  0
  • Ghasem  · 技术社区  · 7 年前

    在我的django项目中,有一个博客模型,我愿意为它的标题创建一个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
    

    此字段必填。

    难道我的代码不应该自动创建slug吗?我还有别的事要做吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   UroÅ¡ Trstenjak    7 年前

    你应该设置 blank=True 为了你的子弹场。这样,当save方法运行时,它就不需要了,并且会被设置为slagifiedtitle。

    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)
    
    推荐文章