Django: IntegrityError: столбец user_id не уникален

Я хотел протестировать что-то, что использует объекты User.

Но по какой-то причине я получаю:

IntegrityError: column user_id is not unique

Я уже некоторое время бьюсь головой о стену и, кажется, не могу понять, что случилось. Сначала я подумал, что, возможно, база данных не сбрасывается между тестами, но я отслеживал User.objects.all (), и это пустой список.

Это тест:

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')

Мои настройки теста:

from settings import *

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

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

Обновление:

Мне нужно лучше читать следы ремня. На самом деле причиной проблемы является следующий сигнал.

@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        Profile(user=instance).save()
13
задан Pickels 17 June 2011 в 15:29
поделиться