Почему я получаю ошибку 'Duplicate entry' в тестировании django?

У меня было несколько модульных тестов в Django, которые работали нормально. Я добавил несколько строк для отправки запросов в MySQL. После этого каждый модульный тест, включающий аутентификацию, вызывает исключения, даже если я удалю эти строки. в чем проблема?

Отчет об ошибке Django:

_mysql.connection.query(self, query) django.db.utils.IntegrityError: (1062, "Duplicate entry 'myuser' for key 'auth_user.username'")

Мои тесты:

class AnnotationPage(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.user = User.objects.create_user(
            username='myuser', password='12345678')


    def test_labeling(self):
        ajaxData = {'testing': 'True',
                    'direction': 'forward'}
        request = self.factory.post('/annotation', ajaxData)
        request.user = self.user
        response = AnnotationView(request)
        assert response.content == b'{"image": "image.png", "id": 1}'

Мои тесты с запросами:

class AnnotationPage(TestCase):
    def setUp(self):
        self.factory = RequestFactory()
        self.user = User.objects.create_user(
            username='myuser', password='12345678')
        self.cursor = connection.cursor()
        query = "TRUNCATE TABLE homepage_imagelabel"
        self.cursor.execute(query)


    def test_labeling(self):
        self.cursor = connection.cursor()
        query = "INSERT INTO homepage_imagelabel (ImageFile) VALUES ('image.png')"
        self.cursor.execute(query)
        ajaxData = {'testing': 'True',
                    'direction': 'forward'}
        request = self.factory.post('/annotation', ajaxData)
        request.user = self.user
        response = AnnotationView(request)
        assert response.content == b'{"image": "image.png", "id": 1}'
Вернуться на верх