Django - 生成默认的slug [英] Django - Generate default slug
问题描述
我想知道是否可以这样做:
slug = models.SlugField(unique = True,default = some_method() verbose_name ='URL Slug')
其中some_method是一种生成随机块的方法?我试过上面的代码,它不起作用:(
我想做的是生成一个独特的插件(unique_slugify?)
您可以覆盖模型save-method,以便在创建新实体时,即时生成lug。。 / p>
if not self.pk:
self.slug =''.join(random.sample(string.ascii_lowercase, 10))
你可以这样做,但不是很好的和更好的是让屁股成为一个确定性的被压缩版本的对象名称。
I want to generate a random slug for my model, but without setting "blank=True" (as I want to enforce it later with validation.)
I was wondering if I could do something like this:
slug = models.SlugField(unique=True, default=some_method(), verbose_name='URL Slug')
Where some_method is a method which generates a random slug? I've tried the above code and it doesn't work :(
What I'd like to do is generate a unique slug (unique_slugify?)
You could override the models save-method so that when a new entity is created, you generate the slug on the fly. Something like:
if not self.pk:
self.slug = ''.join(random.sample(string.ascii_lowercase, 10))
You could do that, but it isn't very good and better would be to let the slug be a deterministic slugified version of the objects name.
这篇关于Django - 生成默认的slug的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!