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即可