質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

323閲覧

マイグレーションを実行し、Groceryテーブルを作成したい

yohida19

総合スコア52

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/06/06 12:24

編集2022/06/08 10:32

実現したいこと

マイグレーションを実行し、Groceryテーブルを作成したいです。

発生している問題・エラーメッセージ

C:\venv_done_housework\Scripts\python.exe C:/Users/erina/venv_done_housework/done_housework/manage.py migrate Operations to perform: Apply all migrations: account, accounts, admin, auth, contenttypes, grocery, housework, sessions Running migrations: Applying grocery.0002_grocery_delete_checkbox...Traceback (most recent call last): File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 89, in _execute return self.cursor.execute(sql, params) psycopg2.errors.UndefinedTable: table "grocery_checkbox" does not exist The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\venv_done_housework\done_housework\manage.py", line 22, in <module> main() File "C:\venv_done_housework\done_housework\manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\venv_done_housework\lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line utility.execute() File "C:\venv_done_housework\lib\site-packages\django\core\management\__init__.py", line 440, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\venv_done_housework\lib\site-packages\django\core\management\base.py", line 414, in run_from_argv self.execute(*args, **cmd_options) File "C:\venv_done_housework\lib\site-packages\django\core\management\base.py", line 460, in execute output = self.handle(*args, **options) File "C:\venv_done_housework\lib\site-packages\django\core\management\base.py", line 98, in wrapped res = handle_func(*args, **kwargs) File "C:\venv_done_housework\lib\site-packages\django\core\management\commands\migrate.py", line 290, in handle post_migrate_state = executor.migrate( File "C:\venv_done_housework\lib\site-packages\django\db\migrations\executor.py", line 131, in migrate state = self._migrate_all_forwards( File "C:\venv_done_housework\lib\site-packages\django\db\migrations\executor.py", line 163, in _migrate_all_forwards state = self.apply_migration( File "C:\venv_done_housework\lib\site-packages\django\db\migrations\executor.py", line 248, in apply_migration state = migration.apply(state, schema_editor) File "C:\venv_done_housework\lib\site-packages\django\db\migrations\migration.py", line 131, in apply operation.database_forwards( File "C:\venv_done_housework\lib\site-packages\django\db\migrations\operations\models.py", line 308, in database_forwards schema_editor.delete_model(model) File "C:\venv_done_housework\lib\site-packages\django\db\backends\base\schema.py", line 451, in delete_model self.execute( File "C:\venv_done_housework\lib\site-packages\django\db\backends\base\schema.py", line 192, in execute cursor.execute(sql, params) File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 103, in execute return super().execute(sql, params) File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 67, in execute return self._execute_with_wrappers( File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 80, in _execute_with_wrappers return executor(sql, params, many, context) File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 89, in _execute return self.cursor.execute(sql, params) File "C:\venv_done_housework\lib\site-packages\django\db\utils.py", line 91, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "C:\venv_done_housework\lib\site-packages\django\db\backends\utils.py", line 89, in _execute return self.cursor.execute(sql, params) django.db.utils.ProgrammingError: table "grocery_checkbox" does not exist

該当のソースコード

python

1# models.py 2from django.db import models 3from accounts.models import CustomUser 4from django.utils import timezone 5 6class Grocery(models.Model): 7 user = models.ForeignKey(CustomUser, verbose_name='ユーザー', on_delete=models.PROTECT) 8 checkbox_1 = models.CharField(max_length=10, default='unchecked') 9 checkbox_2 = models.CharField(max_length=10, default='unchecked') 10 checkbox_3 = models.CharField(max_length=10, default='unchecked') 11 checkbox_created_at = models.DateTimeField(verbose_name='作成日時', auto_now_add=True) 12 checkbox_updated_at = models.DateTimeField(verbose_name='更新日時', auto_now=True) 13 14 class Meta: 15 verbose_name_plural = 'Grocery' 16 17 def __str__(self): 18 return self.checkbox_created_at

経緯・試したこと

既にマイグレーション済で開発環境で動作していたCheckBoxモデルを編集し、mikemigrations したが上手くいかなかったため、cmdでPostgreSQLにログインし、 grocery_checkbox テーブルを削除しました。
⇒ mikemigrations 成功、migrate 失敗
relation "grocery_checkbox" does not exist

migrationファイルを削除し、models.py の CheckBox モデルを Grocery という名前に変更
⇒ mikemigrations 成功、migrate 失敗
上記のエラー発生

補足情報(FW/ツールのバージョンなど)

Django 4.0.4
PostgreSQL 14.0
python 3.9.6
Windows 10 home

migrationファイルを見てみたのですが、 grocery_checkbox を呼んでいるような記述は(素人考えでは)なかったです。
ご教授いただけますと幸いです。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

プロジェクトとDBを作り直しました。
マイグレーションが上手くできたにも関わらず、groceryモデルに関わるページにアクセスしようとすると、groceryモデルがないというようなエラーが出て悩みました。
新旧DBを比較したところ、レコードがないことがわかったので、cmdからSQLでレコードを追加して元の状態までもっていきました。

投稿2022/06/08 13:18

yohida19

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問