---
slug: "django20update-internalerror"
title: "Django1.6->2.0にアップデートしたらマイグレーション時に django.db.utils.InternalError: (1364, \"Field 'name' doesn't have a default value\")"
description: "Python2.7 + Django 1.6 のプロジェクトを、Python3.5 + Django2.0 にしてマイグレーションファイルを作り直し、./manage.py migrate したら"
url: "https://www.ytyng.com/blog/django20update-internalerror"
publish_date: "2018-01-11T05:48:39Z"
created: "2018-01-11T05:48:39Z"
updated: "2026-02-25T23:05:50.425Z"
categories: ["Django"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/a0ba7c152fa14e8e94f9694aeeae49f9.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

# Django1.6->2.0にアップデートしたらマイグレーション時に django.db.utils.InternalError: (1364, "Field 'name' doesn't have a default value")

<p>Python2.7 + Django 1.6 のプロジェクトを、Python3.5 + Django2.0 にしてマイグレーションファイルを作り直し、./manage.py migrate したら</p>
<pre>django.db.utils.InternalError: (1364, "Field 'name' doesn't have a default value")</pre>
<p>のエラーが出た。</p>
<p>ContentType モデルを作る時 ( DBのテーブル名は django_content_type ) に出ているようだ。</p>
<p></p>
<p>取り急ぎ進めたかったので、django_content_type テーブルの name のデフォルト値を '-' なんかにSQLでアップデートすると、一応エラーは出なくなる。</p>
<p></p>
<pre>$ ./manage.py dbshell</pre>
<pre>mysql&gt; ALTER TABLE django_content_type ALTER COLUMN name SET DEFAULT '-';</pre>
<p></p>
<p>トレースバック</p>
<pre style="background-color: #ffffff; color: #000000; font-family: 'Menlo'; font-size: 9.0pt;">Traceback (most recent call last):<br />  File "./manage.py", line 11, in &lt;module&gt;<br />    execute_from_command_line(sys.argv)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line<br />    utility.execute()<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute<br />    self.fetch_command(subcommand).run_from_argv(self.argv)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv<br />    self.execute(*args, **cmd_options)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/base.py", line 335, in execute<br />    output = self.handle(*args, **options)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 223, in handle<br />    self.verbosity, self.interactive, connection.alias, apps=post_migrate_apps, plan=plan,<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/core/management/sql.py", line 51, in emit_post_migrate_signal<br />    **kwargs<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 178, in send<br />    for receiver in self._live_receivers(sender)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/dispatch/dispatcher.py", line 178, in &lt;listcomp&gt;<br />    for receiver in self._live_receivers(sender)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/contrib/auth/management/__init__.py", line 59, in create_permissions<br />    ctype = ContentType.objects.db_manager(using).get_for_model(klass)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/contrib/contenttypes/models.py", line 57, in get_for_model<br />    model=opts.model_name,<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/manager.py", line 82, in manager_method<br />    return getattr(self.get_queryset(), name)(*args, **kwargs)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/query.py", line 489, in get_or_create<br />    return self._create_object_from_params(lookup, params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/query.py", line 521, in _create_object_from_params<br />    obj = self.create(**params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/query.py", line 417, in create<br />    obj.save(force_insert=True, using=self.db)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/base.py", line 729, in save<br />    force_update=force_update, update_fields=update_fields)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/base.py", line 759, in save_base<br />    updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/base.py", line 842, in _save_table<br />    result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/base.py", line 880, in _do_insert<br />    using=using, raw=raw)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/manager.py", line 82, in manager_method<br />    return getattr(self.get_queryset(), name)(*args, **kwargs)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/query.py", line 1125, in _insert<br />    return query.get_compiler(using=using).execute_sql(return_id)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 1281, in execute_sql<br />    cursor.execute(sql, params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 100, in execute<br />    return super().execute(sql, params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 68, in execute<br />    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers<br />    return executor(sql, params, many, context)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 85, in _execute<br />    return self.cursor.execute(sql, params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/utils.py", line 89, in __exit__<br />    raise dj_exc_value.with_traceback(traceback) from exc_value<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/utils.py", line 85, in _execute<br />    return self.cursor.execute(sql, params)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/django/db/backends/mysql/base.py", line 71, in execute<br />    return self.cursor.execute(query, args)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/cursors.py", line 165, in execute<br />    result = self._query(query)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/cursors.py", line 321, in _query<br />    conn.query(q)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/connections.py", line 860, in query<br />    self._affected_rows = self._read_query_result(unbuffered=unbuffered)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/connections.py", line 1061, in _read_query_result<br />    result.read()<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/connections.py", line 1349, in read<br />    first_packet = self.connection._read_packet()<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/connections.py", line 1018, in _read_packet<br />    packet.check_error()<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/connections.py", line 384, in check_error<br />    err.raise_mysql_exception(self._data)<br />  File "/home/ubuntu/myapp-env/lib/python3.5/site-packages/pymysql/err.py", line 107, in raise_mysql_exception<br />    raise errorclass(errno, errval)<br />django.db.utils.InternalError: (1364, "Field 'name' doesn't have a default value")</pre>
<p></p>
<p></p>
<p></p>
