我在本地構建了一個Django 1.9項目,其中sqlite3
作爲我的默認數據庫。我有一個名爲Download
一個應用程序,它定義了DownloadedSongs
表models.py
:Heroku上的Django:關係不存在
models.py現在
from __future__ import unicode_literals
from django.db import models
class DownloadedSongs(models.Model):
song_name = models.CharField(max_length = 255)
song_artist = models.CharField(max_length = 255)
def __str__(self):
return self.song_name + ' - ' + self.song_artist
,爲了部署我的本地項目中的Heroku,我添加以下行的底部我settings.py
文件:
import dj_database_url
DATABASES['default'] = dj_database_url.config()
我的應用程序有幾個文本字段的形式,並在提交這種形式,得到的數據插入到表DownloadedSongs
。現在,當我部署了我在Heroku上的項目,並試圖提交此表,我得到了以下錯誤:
Exception Type: ProgrammingError at /download/
Exception Value: relation "Download_downloadedsongs" does not exist
LINE 1: INSERT INTO "Download_downloadedsongs" ("song_name", "song_a...
這是我的requirements.txt
文件看起來像:
beautifulsoup4==4.4.1
cssselect==0.9.1
dj-database-url==0.4.1
dj-static==0.0.6
Django==1.9
django-toolbelt==0.0.1
gunicorn==19.6.0
lxml==3.6.0
psycopg2==2.6.1
requests==2.10.0
static3==0.7.0
另外,我曾嘗試運行以下命令以及:
heroku run python manage.py makemigrations
heroku run python manage.py migrate
但是,問題仍然存在。這裏似乎有什麼錯誤?
你可以訪問數據庫來查看錶的名字嗎?這是否可能是因爲表格全部是小寫?或者你還需要運行syncdb命令? – Furbeenator
'syndb'命令在Django 1.9中已棄用。然而,我確實已經確定我運行了'makemigrations'命令。 –