带有pytest夹具完整性错误的Django REST

Django REST with pytest fixture integrity error

我正在尝试用 pytest 创建一个夹具,但是当我 运行 它时,我收到以下错误:

django.db.utils.IntegrityError:NOT NULL 约束失败:authtoken_token.user_id

我找到了相关资料,但我不知道如何处理它。

我的代码:

@pytest.fixture
def client(db):
    api_client = APIClient()
    token = Token.objects.get_or_create(user__username='testuser')
    api_client.credentials(HTTP_AUTHORIZATION='Token ' + token.key)
    return api_client


@pytest.mark.django_db
def test_get_list_test(client):
    url = reverse('api/lists')
    response = client.get(url)
    assert response.status_code == 200

一般来说,我认为您的错误与此处的 pytest 无关。 我认为这里的主要问题与 django 数据库迁移有关

所以首先,请确保修复它,无论对任何框架 (pytest)

django.db.utils.IntegrityError: NOT NULL constraint failed: authtoken_token.user_id

并且在您成功验证错误消失后(也手动检查),尝试 运行 夹具。