【问题标题】:Django admin does not allow saving unicode slugsDjango 管理员不允许保存 unicode slug
【发布时间】:2014-02-21 11:38:19
【问题描述】:

我正在尝试为这个模型保存一个波斯蛞蝓:

class Category(models.Model):
    name = models.CharField('name', max_length=100)
    slug = models.SlugField('slug', unique=True)
    description = models.TextField('description')

    class Meta:
        verbose_name = 'category'
        verbose_name_plural = 'categories'

    @permalink
    def get_absolute_url(self):
        return ('category_detail', None, {
            'slug': self.slug
        })

    def __unicode__(self):
        return u'%s' % self.name

但 Django 不保存页面并抱怨:

Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens

我也尝试过使用这种保存方法

    def save(self, *args, **kwargs):
      self.name = slugify_unicode(self.name)
      super(Category, self).save(*args, **kwargs)

但它并没有解决问题。因此,我对此有所了解,并感谢您为解决此问题提供的帮助。

【问题讨论】:

  • 但是,你想保存什么价值?

标签: django django-admin python-unicode


【解决方案1】:

你不能。 Slug fields can only contain ASCII letters, numbers, dashses and underlines.

如果您必须在类似 slug 的字段中使用非 ASCII 字符,您可以使用普通的 CharField 并在其中添加 db_index = True

【讨论】:

    猜你喜欢
    • 2016-07-18
    • 2021-08-03
    • 2019-07-09
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2014-12-08
    相关资源
    最近更新 更多