﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32112	./manage.py migrate generating invalid django_content_type inserts	jamercee	nobody	"We've been working on a django project and just run into a problem with the django `./manage.py migrate` command raising `django.db.utils.IntegrityError` during post-migration.

The `IntegrityError` is caused by the migrate command attempting to insert a new record into the `django_content_type` table. It is providing the `app_label` and `model` column values, but not providing value for the `name` column which violates the non-null constraint.

What's interesting is that `./manage.py test` works just fine. 

Here's the full stack trace.


{{{
Running migrations:
  No migrations to apply.
Running post-migrate handlers for application utils
Traceback (most recent call last):
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.NotNullViolation: null value in column ""name"" violates not-null constraint
DETAIL:  Failing row contains (46, null, utils, testutilsguidfield).


The above exception was the direct cause of the following exception:

  File ""./manage.py"", line 22, in <module>
    main()
  File ""./manage.py"", line 18, in main
    execute_from_command_line(sys.argv)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/__init__.py"", line 401, in execute_from_command_line
    utility.execute()
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/__init__.py"", line 395, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/base.py"", line 330, in run_from_argv
    self.execute(*args, **cmd_options)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/base.py"", line 371, in execute
    output = self.handle(*args, **options)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/base.py"", line 85, in wrapped
    res = handle_func(*args, **kwargs)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/commands/migrate.py"", line 267, in handle
    emit_post_migrate_signal(
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/core/management/sql.py"", line 48, in emit_post_migrate_signal
    models.signals.post_migrate.send(
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/dispatch/dispatcher.py"", line 177, in send
    return [
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/dispatch/dispatcher.py"", line 178, in <listcomp>
    (receiver, receiver(signal=self, sender=sender, **named))
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/contrib/auth/management/__init__.py"", line 42, in create_permissions
    create_contenttypes(app_config, verbosity=verbosity, interactive=interactive, using=using, apps=apps, **kwargs)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/contrib/contenttypes/management/__init__.py"", line 132, in create_contenttypes
    ContentType.objects.using(using).bulk_create(cts)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/models/query.py"", line 506, in bulk_create
    returned_columns = self._batched_insert(
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/models/query.py"", line 1266, in _batched_insert
    inserted_rows.extend(self._insert(
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/models/query.py"", line 1249, in _insert
    return query.get_compiler(using=using).execute_sql(returning_fields)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/models/sql/compiler.py"", line 1395, in execute_sql
    cursor.execute(sql, params)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 98, in execute
    return super().execute(sql, params)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 66, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 75, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 84, in _execute
    return self.cursor.execute(sql, params)
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/utils.py"", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File ""/home/jim/src/dc/.pyenv/lib/python3.8/site-packages/django/db/backends/utils.py"", line 84, in _execute
    return self.cursor.execute(sql, params)
django.db.utils.IntegrityError: null value in column ""name"" violates not-null constraint
DETAIL:  Failing row contains (46, null, utils, testutilsguidfield).
}}}"	Uncategorized	closed	contrib.contenttypes	3.1	Normal	invalid			Unreviewed	0	0	0	0	0	0
