我正试图在Django中创建一个SlugField
。
我创建了这个简单的模型:
from django.db import models
class Test(models.Model):
q = models.CharField(max_length=30)
s = models.SlugField()
然后我这样做:
>>> from mysite.books.models import Test
>>> t=Test(q="aa a a a", s="b b b b")
>>> t.s
'b b b b'
>>> t.save()
>>> t.s
'b b b b'
我在等b-b-b-b
。
有一些utf-8字符的角盒
示例:
这可以用Unidecode来解决
对peer回答的一个小更正是:要重写模型类中的
save()
函数,最好向它添加参数:否则,
test.objects.create(q="blah blah blah")
将导致force_insert
错误(意外参数)。你需要使用slugify函数。
通过重写
save
方法,可以自动调用slugify
:请注意,当编辑
q
字段时,上面的内容将导致您的URL更改,该字段是can cause broken links。创建新对象时,最好只生成一次slug:相关问题 更多 >
编程相关推荐