{"html_url": "https://github.com/simonw/datasette/issues/2205#issuecomment-1794054390", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/2205", "id": 1794054390, "node_id": "IC_kwDOBm6k_c5q7xj2", "user": {"value": 9599, "label": "simonw"}, "created_at": "2023-11-06T04:09:43Z", "updated_at": "2023-11-06T04:10:34Z", "author_association": "OWNER", "body": "That `keep_blank_values=True` is from https://github.com/simonw/datasette/commit/0934844c0b6d124163d0185fb6a41ba5a71433da\r\n\r\nCommit message:\r\n> request.post_vars() no longer discards empty values \r\n\r\nRelevant test:\r\n\r\nhttps://github.com/simonw/datasette/blob/452a587e236ef642cbc6ae345b58767ea8420cb5/tests/test_internals_request.py#L19-L27", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1978023780, "label": "request.post_vars() method obliterates form keys with multiple values"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/2205#issuecomment-1794052079", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/2205", "id": 1794052079, "node_id": "IC_kwDOBm6k_c5q7w_v", "user": {"value": 9599, "label": "simonw"}, "created_at": "2023-11-06T04:06:05Z", "updated_at": "2023-11-06T04:08:50Z", "author_association": "OWNER", "body": "It should return a `MultiParams`:\r\n\r\nhttps://github.com/simonw/datasette/blob/452a587e236ef642cbc6ae345b58767ea8420cb5/datasette/utils/__init__.py#L900-L917\r\n\r\nChange needs to be made before 1.0.\r\n\r\n```python\r\nreturn MultiParams(urllib.parse.parse_qs(body.decode(\"utf-8\")))\r\n```\r\nNeed to remember why I was using `keep_blank_values=True` there and check that using `MultiParams` doesn't conflict with that reason.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1978023780, "label": "request.post_vars() method obliterates form keys with multiple values"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/2205#issuecomment-1793880738", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/2205", "id": 1793880738, "node_id": "IC_kwDOBm6k_c5q7HKi", "user": {"value": 9599, "label": "simonw"}, "created_at": "2023-11-05T23:26:14Z", "updated_at": "2023-11-05T23:26:14Z", "author_association": "OWNER", "body": "I found this problem while trying to use WTForms with this pattern:\r\n\r\n```python\r\nchoices = [(col, col) for col in await db.table_columns(table)]\r\n\r\nclass ConfigForm(Form):\r\n template = TextAreaField(\"Template\")\r\n api_token = PasswordField(\"OpenAI API token\")\r\n columns = MultiCheckboxField('Columns', choices=choices)\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1978023780, "label": "request.post_vars() method obliterates form keys with multiple values"}, "performed_via_github_app": null}