如何生成由最少量字符组成的随机段塞。 我试试这个。
import random
import string
u_id = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(8))
和模型
class Articles(models.Model):
slug = models.CharField(max_length=6)
我如何在模特中做到这一点?生成slug,检查是否可用并设置。 我想要创建1到6个字符的短片段,对我来说最好的是从1个字母的slugs开始。
答案 0 :(得分:2)
在基本级别,你可以这样做:
import random
import string
def rand_slug():
return ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(6))
class Articles(models.Model):
slug = models.CharField(max_length=6, unique=True, default=rand_slug())
以上将生成一个长度为6个字符的随机slug。通过在模型上使用unique=True
,它将确保没有其他Article
对象具有该slug。
如果您想采用更高级的方法,我建议您通过编写自己的create
方法在模型管理器中生成此slug。然后,您可以使随机slug具有动态大小值,字符集等。