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
このエラーの内容と解決方法があれば、お教えいただきたいです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。