relation " " does not exist LINE 1: SELECT COUNT(*) AS "__count" FROM " "が解決できない
Q&A
Closed
解決したいこと
ProgrammingError at /admin/app1/blog/
relation "Blog" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "Blog"
のエラーを解決したいです。
DegitalOceanを使って、ubuntuにdjangoのアプリをデプロイしました。
データベースにはpostgresqlを使用しています。
初期のデプロイは、問題なくできたのですが、新たな機能を追加したいと思いpython manage.py startapp
で新たなアプリケーションを追加・作成しました。管理画面から記事を書くアプリケーションなのですが、ローカルの環境では、(sqliteということもあってか)問題なく動作確認ができました。
しかし、本番環境では管理画面からモデルをクリックすると、上記のエラーが起きました。解決方法を教えて下さい。
バージョン
- Django 3.0.8
- Ubuntu 13.2-1
- Postgresql 13.2
発生している問題・エラー
ProgrammingError at /admin/app1/blog/
relation "Blog" does not exist
LINE 1: SELECT COUNT(*) AS "__count" FROM "Blog"
該当するソースコード
from django.db import models
from ckeditor.fields import RichTextField
from django.utils import timezone
from django.utils.translation import gettext as _
# Create your models here.
class Blog(models.Model):
class Meta:
db_table = 'Blog'
verbose_name = _('メディア記事')
verbose_name_plural = _('メディア記事')
title = models.CharField(verbose_name='タイトル',max_length=40,blank=True,null=True)
image = models.ImageField(upload_to='media/',blank=True,null=True)
body = RichTextField(blank=True,null=True)
date = models.DateField(verbose_name='更新日',blank=True,null=True,default=timezone.now)
discription = models.TextField(blank=True,null=True,max_length=50)
def __str__(self):
template = '更新日:'+'{0.date} '+', タイトル:'+'{0.title}'
return template.format(self)
自分で試したこと
migrateが通っていないかと思い、python manage.py showmigrations
を確認しましたが、問題なくできていました。
解決方法
relation " " does not exist
ということで、データべースにテーブルがないことが問題です。
本番環境では、postgresql
で開発環境ではsqlite
でした。
python manage.py makemigrations
python manage.py migrate
ができているのに、エラーが出ている原因はmanage.py
がsqlite
を指していることに問題ありました。
(すなわち、manage.py
がpsotgresql
を参照していませんでした。)
なので、manage.py
の参照を変更すればよかっただけでした。