2017-02-20 77 views
1

我試圖在管理頁面上設置一個用於上傳圖像的圖像字段,但是這個錯誤會引發。Django imageField

沒有這樣的列:series_serie.serie_cover

這是模型:

class Serie (models.Model): 
    serie_name = models.CharField(max_length=100) 
    serie_cover = models.ImageField(upload_to='/') 

    def __str__(self): 
     return (self.serie_name) 

這是遷移文件:

 migrations.CreateModel(
     name='Serie', 
     fields=[ 
      ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
      ('serie_name', models.CharField(max_length=100)), 
      ('serie_cover', models.ImageField(upload_to=b'')), 
     ], 

我做了以下內容:

  1. 蟒蛇manage.py沖洗
  2. 蟒蛇manage.py makemigrations
  3. 蟒蛇manage.py遷移

然後我嘗試從管理方意甲模型,但得到了錯誤。

我能做什麼?

謝謝。

+0

已將'series'應用程序添加到'INSTALLED_APPS'設置中了嗎? – meshy

+1

是的,它被添加到INSTALLED_APPS。 – Lechucico

回答

0

我解決它刪除文件 'db.sqlite3' 並重新與makemigrations生成它。出於某種原因,這個名字被卡在那裏,我無法改變它。

0

在您的模型中,您的字段名爲serie_image,但在您的遷移中,您試圖將該行應用於名稱爲serie_cover的表。這不起作用。

您可以更改模型上的名稱以匹配您嘗試應用的遷移,也可以更改遷移以匹配模型。

像這樣:

class Serie (models.Model): 
    serie_name = models.CharField(max_length=100) 
    serie_cover = models.ImageField(upload_to='/') 

    def __str__(self): 
     return (self.serie_name) 

migrations.CreateModel(
    name='Serie', 
    fields=[ 
     ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
     ('serie_name', models.CharField(max_length=100)), 
     ('serie_cover', models.ImageField(upload_to=b'')), 
    ], 

或者這樣:

class Serie (models.Model): 
    serie_name = models.CharField(max_length=100) 
    serie_image = models.ImageField(upload_to='/') 

    def __str__(self): 
     return (self.serie_name) 

migrations.CreateModel(
    name='Serie', 
    fields=[ 
     ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 
     ('serie_name', models.CharField(max_length=100)), 
     ('serie_image', models.ImageField(upload_to=b'')), 
    ], 
+0

我修復了這個問題,但仍然無法正常工作。 – Lechucico

+0

你能提供你的admin.py文件的相應部分嗎?起初我沒有注意到這是管理員的問題,而不是遷移。 – Neelik