最近更改Slug字段,把里面的内容删除,使用uuslug插件通过title重新生成新的字段。
在Models中添加slug = models.CharField(max_length=200,default='', null=True, blank=True)
在Shell下,导入uuslug的方法from uuslug import slugify
,通过遍历并保存。
from world.models import Countries
from uuslug import slugify
for i in Countries.objects.all():
i.slug = slugify(i.name, max_length=20, word_boundary=True, separator="-")
i.save()
以上方法是对于中文,因为需要把中文转拼音所以使用uuslug。
如果是英文的则没有这么麻烦,直接使用系统自带的slugify方法即可。
>>> from django.template.defaultfilters import slugify
>>> for obj in MyModel.objects.all():
... obj.slug = slugify(obj.title)
... obj.save()