🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Django

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

PostgreSQL

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

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1189閲覧

DjangoでHerokuに最初にデプロイした後にmigrateができない。

hajifu

総合スコア88

Django

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

PostgreSQL

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

Python 3.x

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/23 17:50

heroku run python manage.py migrate でエラーになる

今まで、ローカル環境でずっと開発してきて、形になってきたのでherokuにデプロイしようとしています。
そこでこちらのQiita記事DjangoアプリをHerokuにデプロイする方法の手順通りに進めてデプロイしました。

最後の方の、

heroku run python manage.py migrate

を実行するところで下記のようなエラーが出てしまいmigrateできません。
スーパーユーザーを作るコマンドは問題なく実行できました。

エラーメッセージ

python

1Operations to perform: 2 Apply all migrations: admin, auth, contenttypes, doors, sessions 3Running migrations: 4 Applying doors.0003_auto_20190912_0307...Traceback (most recent call last): 5 File "manage.py", line 21, in <module> 6 main() 7 File "manage.py", line 17, in main 8 execute_from_command_line(sys.argv) 9 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in 10execute_from_command_line 11 utility.execute() 12 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in 13execute 14 self.fetch_command(subcommand).run_from_argv(self.argv) 15 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_ 16from_argv 17 self.execute(*args, **cmd_options) 18 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 364, in exec 19ute 20 output = self.handle(*args, **options) 21 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/base.py", line 83, in wrapp 22ed 23 res = handle_func(*args, **kwargs) 24 File "/app/.heroku/python/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 25234, in handle 26 fake_initial=fake_initial, 27 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/migrations/executor.py", line 117, in mi 28grate 29 state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial) 30 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/migrations/executor.py", line 147, in _m 31igrate_all_forwards 32 state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial) 33 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/migrations/executor.py", line 245, in ap 34ply_migration 35 state = migration.apply(state, schema_editor) 36 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/migrations/migration.py", line 124, in a 37pply 38 operation.database_forwards(self.app_label, schema_editor, old_state, project_state) 39 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/migrations/operations/fields.py", line 2 4049, in database_forwards 41 schema_editor.alter_field(from_model, from_field, to_field) 42 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/base/schema.py", line 535, in a 43lter_field 44 old_db_params, new_db_params, strict) 45 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/postgresql/schema.py", line 124 46, in _alter_field 47 new_db_params, strict, 48 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/base/schema.py", line 649, in _ 49alter_field 50 new_default = self.effective_default(new_field) 51 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/backends/base/schema.py", line 233, in e 52ffective_default 53 return field.get_db_prep_save(self._effective_default(field), self.connection) 54 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 789, in 55 get_db_prep_save 56 return self.get_db_prep_value(value, connection=connection, prepared=False) 57 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 1275, i 58n get_db_prep_value 59 value = self.get_prep_value(value) 60 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 1270, i 61n get_prep_value 62 return self.to_python(value) 63 File "/app/.heroku/python/lib/python3.7/site-packages/django/db/models/fields/__init__.py", line 1245, i 64n to_python 65 params={'value': value}, 66django.core.exceptions.ValidationError: ["'' は無効な日付形式です。YYYY-MM-DD形式にしなければなりません。" 67]

試したこと・考えたこと

モデルの中に何か変な値が入っていたかなと思い、ローカルのdjango shell上で一覧を表示してすべてのフィールドを確認しましたが、いずれも2019-04-22のような形式で入っていました。

またmodels.pyも、これまでは引数に何も書いていませんでしたが、blankやnullをTrueにしてみたりしましたが変わりませんでした。モデルは下記のような感じです。

python

1class Theater(models.Model): 2 name = models.CharField(max_length=50) 3 site_url = models.CharField(max_length=100) 4 description = models.TextField(null=True) 5 favorited = models.IntegerField(default=0, blank=True) 6 address = models.CharField(max_length=200) 7 8 def publish(self): 9 self.save() 10 11 def __str__(self): 12 return self.name 13 14 15class Program(models.Model): 16 title = models.CharField(max_length=100) 17 company = models.CharField(max_length=50) 18 theater = models.ForeignKey(Theater, on_delete=models.PROTECT) 19 playwright = models.CharField(max_length=200, null=True) 20 introduction = models.CharField(max_length=300, null=True) 21 # この下二つがDateField 22 start_date = models.DateField(blank=True, null=True) 23 close_date = models.DateField(blank=True, null=True) 24 site_url = models.CharField(blank=True, null=True, max_length=200) 25 description = models.TextField(blank=True) 26 favorited = models.IntegerField(default=0, blank=True) 27 flyer_image = models.ImageField(blank=True, null=True, upload_to="flyers") 28 29 def publish(self): 30 self.save() 31 32 def __str__(self): 33 return self.title

このエラーの内容と解決方法があれば、お教えいただきたいです。
どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

結局アプリを作り直しました。
たぶんmigrationファイルがごちゃごちゃしていたせいかとおもうのですが、よくわかりませんでした。

投稿2019/09/27 14:48

hajifu

総合スコア88

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問