{ "case": { "Name": "create_long_title", "Method": "POST", "Path": "/api/posts", "Body": "{\"author_id\":1,\"title\":\"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\"body\":\"Y\"}" }, "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/django/db/backends/utils.py\", line 105, in _execute\n return self.cursor.execute(sql, params)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/psycopg/cursor.py\", line 117, in execute\n raise ex.with_traceback(None)\npsycopg.errors.StringDataRightTruncation: value too long for type character varying(255)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (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 95, in create_post\n post = Post.objects.create(\n author=author,\n title=payload.title,\n body=payload.body,\n )\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/manager.py\", line 87, in manager_method\n return getattr(self.get_queryset(), name)(*args, **kwargs)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/query.py\", line 665, in create\n obj.save(force_insert=True, using=self.db)\n ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/base.py\", line 902, in save\n self.save_base(\n ~~~~~~~~~~~~~~^\n using=using,\n ^^^^^^^^^^^^\n ...\u003c2 lines\u003e...\n update_fields=update_fields,\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n )\n ^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/base.py\", line 1008, in save_base\n updated = self._save_table(\n raw,\n ...\u003c4 lines\u003e...\n update_fields,\n )\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/base.py\", line 1169, in _save_table\n results = self._do_insert(\n cls._base_manager, using, fields, returning_fields, raw\n )\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/base.py\", line 1210, in _do_insert\n return manager._insert(\n ~~~~~~~~~~~~~~~^\n [self],\n ^^^^^^^\n ...\u003c3 lines\u003e...\n raw=raw,\n ^^^^^^^^\n )\n ^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/manager.py\", line 87, in manager_method\n return getattr(self.get_queryset(), name)(*args, **kwargs)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/query.py\", line 1873, in _insert\n return query.get_compiler(using=using).execute_sql(returning_fields)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/models/sql/compiler.py\", line 1882, in execute_sql\n cursor.execute(sql, params)\n ~~~~~~~~~~~~~~^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/backends/utils.py\", line 122, in execute\n return super().execute(sql, params)\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/backends/utils.py\", line 79, in execute\n return self._execute_with_wrappers(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n sql, params, many=False, executor=self._execute\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n )\n ^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/backends/utils.py\", line 92, in _execute_with_wrappers\n return executor(sql, params, many, context)\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/backends/utils.py\", line 100, in _execute\n with self.db.wrap_database_errors:\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/utils.py\", line 91, in __exit__\n raise dj_exc_value.with_traceback(traceback) from exc_value\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/django/db/backends/utils.py\", line 105, in _execute\n return self.cursor.execute(sql, params)\n ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^\n File \"\u003crepo\u003e/.venv/lib/python3.14/site-packages/psycopg/cursor.py\", line 117, in execute\n raise ex.with_traceback(None)\ndjango.db.utils.DataError: value too long for type character varying(255)\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 } } }