{"html_url": "https://github.com/simonw/sqlite-utils/issues/431#issuecomment-1164460052", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/431", "id": 1164460052, "node_id": "IC_kwDOCGYnMM5FaEAU", "user": {"value": 738408, "label": "rafguns"}, "created_at": "2022-06-23T14:12:51Z", "updated_at": "2022-06-23T14:12:51Z", "author_association": "NONE", "body": "Yeah, I think I prefer your suggestion: it seems cleaner than my initial `left_name=`/`right_name=` idea. Perhaps one downside is that it's less obvious what the role of each field is: in this example, is `people_id_1` a reference to parent or child?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1227571375, "label": "Allow making m2m relation of a table to itself"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/431#issuecomment-1155753397", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/431", "id": 1155753397, "node_id": "IC_kwDOCGYnMM5E42W1", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-06-14T22:01:38Z", "updated_at": "2022-06-14T22:01:38Z", "author_association": "OWNER", "body": "Yeah, I think it would be neat if the library could support self-referential many-to-many in a nice way.\r\n\r\nI'm not sure about the `left_name/right_name` design though. Would it be possible to have this work as the user intends, by spotting that the other table name `\"people\"` matches the name of the current table?\r\n\r\n```python\r\ndb[\"people\"].insert({\"name\": \"Mary\"}, pk=\"name\").m2m(\r\n \"people\", [{\"name\": \"Michael\"}, {\"name\": \"Suzy\"}], m2m_table=\"parent_child\", pk=\"name\"\r\n)\r\n```\r\nThe created table could look like this:\r\n```sql\r\nCREATE TABLE [parent_child] (\r\n [people_id_1] TEXT REFERENCES [people]([name]),\r\n [people_id_2] TEXT REFERENCES [people]([name]),\r\n PRIMARY KEY ([people_id_1], [people_id_2])\r\n)\r\n```\r\nI've not thought very hard about this, so the design I'm proposing here might not work.\r\n\r\nAre there other reasons people might wan the `left_name=` and `right_name=` parameters? If so then I'm much happier with those.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1227571375, "label": "Allow making m2m relation of a table to itself"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/sqlite-utils/issues/431#issuecomment-1126295407", "issue_url": "https://api.github.com/repos/simonw/sqlite-utils/issues/431", "id": 1126295407, "node_id": "IC_kwDOCGYnMM5DIedv", "user": {"value": 738408, "label": "rafguns"}, "created_at": "2022-05-13T17:47:32Z", "updated_at": "2022-05-13T17:47:32Z", "author_association": "NONE", "body": "I'd be happy to write a PR for this, if you think it's worth having.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1227571375, "label": "Allow making m2m relation of a table to itself"}, "performed_via_github_app": null}