1 最近为了毕业论文和自己的小博客,又回温了django的内容,发现了这本不错的文档
http://hackerxu.com/Twd/#7,兴致勃勃地做到了这一步,对自动url感兴趣,就继续做了,后来发现报错。
2 刚开始照着做发现
class Category(models.Model):
name = models.CharField(max_length=128,unique=True)
views = models.IntegerField(default=0)
likes = models.IntegerField(default=0)
slug = models.SlugField(unique=True)
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
super(Category,self).save(*args,**kwargs)
def __str__(self):
return self.name
后来发现执行makemigrations后,提示输入默认值或者设置默认值。肯定不能设置默认值的,因为这是区分唯一的url啊,保证unique为true的前提是得先有值,后来我设置为了null=True,blank=True,发现并没有增加这个slug
3 顺序是这样子的
3.1刚开始不要写unique=True,如果你的系统老报错,别紧张,把添加的slug都注释掉,如果只注释掉函数,就会没成功添加slug,可设置为blank=True即可
3.2 makemigrations出现了adding slug这个条目才对,然后migrate,然后执行populate_rango.py即可
转载于:https://blog.51cto.com/qixue/1744485