2015-09-05 61 views
0

我試圖在Django項目中創建一個slug字段。 但是,當我嘗試訪問django admin上的類別時,我一直在收到這個錯誤,我剛接觸Django並試圖跟上教程。我(1054,「字段列表」中的未知列'rango_category.slug')Django

+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| Table   | Create Table                                                                 | 
+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 
| rango_category | CREATE TABLE `rango_category` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(128) NOT NULL, 
    `likes` int(11) NOT NULL, 
    `views` int(11) NOT NULL, 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `name` (`name`) 
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 | 
+----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 

Models.py文件

from django.db import models 
from django.template.defaultfilters import slugify 

# Create your models here. 
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) 

    class Meta: 
      verbose_name_plural = "Categories" 


    def save(self, *args, **kwargs): 
      self.slug = slugify(self.name) 
      super(Category, self).save(*args, **kwargs) 

    def __unicode__(self): 
      return self.name 

class Page(models.Model): 
    category = models.ForeignKey(Category) 
    title = models.CharField(max_length=128) 
    url = models.URLField() 
    views = models.IntegerField(default=0) 

    def __unicode__(self): 
      return self.title 

回答

1

正如你所看到的,你不必在你rango_categoryslug場。

在爲rango_category表相應的模型,假設RangoCategory模型添加蛞蝓場:

class RangoCategory(models.Model): 
    id = ... 
    likes = ... 
    name = ... 
    views = ... 
    slug = models.SlugField() 

然後運行python manage.py makemigrationspython manage.py migrate,它可能會要求值設置爲現有行。

這將在您的db表中創建一個slug字段。

+0

嗨there @Gocht,我已經在我的模型中有這個好奇的部分。那我該怎麼辦? – Juanvulcano

+0

@Juanvulcano當你得到錯誤? – Gocht

+0

我試圖運行populate_script,當我遷移Django給了我3個選項。 1.爲slug添加一個默認值,2.保留它的樣子或3.爲了手動改變它,我選擇了編號2也許這裏是錯誤,我應該給slug一個空值並且然後遷移 – Juanvulcano

相關問題