Django: IntegrityError: la colonne user_id n'est pas unique

J'ai voulu tester quelque chose qui utilise un des objets Utilisateur.

Mais pour une raison que j'obtiens:

IntegrityError: column user_id is not unique

J'ai été frapper ma tête contre le mur pendant un certain temps maintenant et il semble que je ne peux pas comprendre ce qui est mal. Au début, je pensais que peut-être la base de données n'est pas d'obtenir rincé entre les tests, mais j'ai suivi le tracé de l'Utilisateur.objets.tous les() et c'est une liste vide.

C'est le test:

from django.contrib.auth.models import User
from django.test import TestCase

class TestSomething(TestCase):
    def test_create_user(self):
        User.objects.create_user('foo', 'foo@bar', 'bar')

Mes paramètres de test:

from settings import *

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', 
        'NAME': ':memory:',
    }
}

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

Mise à jour:

Je dois lire mon strack des traces un peu mieux. C'est en fait le signal qui est à l'origine du problème.

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        Profile(user=instance).save()

source d'informationauteur Pickels