{
"case": {
"Name": "email_duplicate",
"Method": "GET",
"Path": "/api/users/find?email=duplicate%40example.com",
"Body": ""
},
"status": 500,
"headers": {
"Content-Type": "text/plain",
"Cross-Origin-Opener-Policy": "same-origin",
"Referrer-Policy": "same-origin",
"X-Content-Type-Options": "nosniff",
"X-Frame-Options": "DENY"
},
"body": "Traceback (most recent call last):\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/ninja/operation.py\", line 216, in run\n result = self.view_func(request, **values)\n File \"\u003crepo\u003e/blog/api.py\", line 116, in find_user_by_email\n user = get_object_or_404(User, email=email)\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/shortcuts.py\", line 90, in get_object_or_404\n return queryset.get(*args, **kwargs)\n ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/query.py\", line 638, in get\n raise self.model.MultipleObjectsReturned(\n ...\u003c5 lines\u003e...\n )\nblog.models.User.MultipleObjectsReturned: get() returned more than one User -- it returned 2!\n",
"state": {
"blog_comment": [
{
"author_id": 1,
"body": "Second café",
"created_at": "2024-02-01T00:00:00Z",
"id": 2,
"post_id": 1
},
{
"author_id": 2,
"body": "First",
"created_at": "2024-02-01T00:00:00Z",
"id": 1,
"post_id": 1
},
{
"author_id": 3,
"body": "Draft comment",
"created_at": "2024-02-02T00:00:00Z",
"id": 3,
"post_id": 2
}
],
"blog_comment_sequence": {
"is_called": true,
"last_value": 3
},
"blog_post": [
{
"author_id": 1,
"body": "A body with 100% and under_score and café",
"created_at": "2024-01-01T00:00:00Z",
"id": 1,
"is_published": true,
"title": "Hello Python",
"updated_at": "2024-01-01T00:00:00Z",
"view_count": 7
},
{
"author_id": 1,
"body": "python hidden",
"created_at": "2024-01-02T00:00:00Z",
"id": 2,
"is_published": false,
"title": "Secret draft",
"updated_at": "2024-01-02T00:00:00Z",
"view_count": 0
},
{
"author_id": 2,
"body": "PYTHON and backslash \\\\",
"created_at": "2024-01-03T00:00:00Z",
"id": 3,
"is_published": true,
"title": "Unicode café 🚀",
"updated_at": "2024-01-03T00:00:00Z",
"view_count": 2
},
{
"author_id": 3,
"body": "unrelated content",
"created_at": "2024-01-03T00:00:00Z",
"id": 4,
"is_published": true,
"title": "Tied date",
"updated_at": "2024-01-03T00:00:00Z",
"view_count": 0
}
],
"blog_post_sequence": {
"is_called": true,
"last_value": 4
},
"blog_post_tags": [
{
"id": 1,
"post_id": 1,
"tag_id": 2
},
{
"id": 2,
"post_id": 1,
"tag_id": 1
},
{
"id": 3,
"post_id": 2,
"tag_id": 1
},
{
"id": 4,
"post_id": 3,
"tag_id": 1
}
],
"blog_post_tags_sequence": {
"is_called": true,
"last_value": 4
},
"blog_tag": [
{
"created_at": "2024-01-01T00:00:00Z",
"id": 1,
"name": "Python",
"slug": "python"
},
{
"created_at": "2024-01-01T00:00:00Z",
"id": 2,
"name": "Django",
"slug": "django"
},
{
"created_at": "2024-01-01T00:00:00Z",
"id": 3,
"name": "Empty",
"slug": "empty"
}
],
"blog_tag_sequence": {
"is_called": true,
"last_value": 3
},
"blog_user": [
{
"bio": "",
"created_at": "2024-01-01T00:00:00Z",
"display_name": "Bob",
"email": "duplicate@example.com",
"id": 2,
"username": "bob"
},
{
"bio": "",
"created_at": "2024-01-01T00:00:00Z",
"display_name": "Carol",
"email": "duplicate@example.com",
"id": 3,
"username": "carol"
},
{
"bio": "Author biography",
"created_at": "2024-01-01T00:00:00Z",
"display_name": "Alice",
"email": "alice@example.com",
"id": 1,
"username": "alice"
}
],
"blog_user_sequence": {
"is_called": true,
"last_value": 3
}
}
}