Django管理员不允许保存unicode slugs

qli*_*liq 1 django django-admin python-unicode

我正试图为这个模型保存一个波斯slu ::

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
Run Code Online (Sandbox Code Playgroud)

但Django没有保存页面和投诉:

Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens
Run Code Online (Sandbox Code Playgroud)

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

    def save(self, *args, **kwargs):
      self.name = slugify_unicode(self.name)
      super(Category, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

但它没有解决问题.所以我对此有所了解并感谢您帮助解决这个问题.

Tia*_*ago 5

你不能.Slug字段只能包含ASCII字母,数字,破折号和下划线.

如果必须在类似slug的字段中使用非ASCII字符,则可以使用法线CharField并向其添加a db_index = True.