{"html_url": "https://github.com/simonw/datasette/issues/620#issuecomment-552252074", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/620", "id": 552252074, "node_id": "MDEyOklzc3VlQ29tbWVudDU1MjI1MjA3NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-11T00:28:28Z", "updated_at": "2019-11-11T00:30:53Z", "author_association": "OWNER", "body": "So for foreign key definitions it could look like this:\r\n\r\n`/db/table?_fk.article_id=articles.id`\r\n\r\nOr for columns and table names that themselves contain dots it could be:\r\n\r\n`/db/table?_fk.article_id={\"table\":\"articles\",\"column\":\"id\"}`\r\n\r\nThe value (before the =) is unambiguous -it's `?fk.XXX` where XXX could be a column name that includes periods without breaking anything.\r\n\r\nAdded bonus: if you're referencing another table's single primary key you can omit the `.id` entirely (since it can be automatically detected) - so you could do `?_fk.article_id=articles`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 520667773, "label": "Mechanism for indicating foreign key relationships in the table and query page URLs"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/620#issuecomment-552252199", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/620", "id": 552252199, "node_id": "MDEyOklzc3VlQ29tbWVudDU1MjI1MjE5OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-11T00:29:36Z", "updated_at": "2019-11-11T00:29:36Z", "author_association": "OWNER", "body": "This new `?_fk.column_name=` syntax makes me wonder if the various filters should be `?colname.contains=x` rather than `?colname__contains=x` - but that's a conversation for another time.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 520667773, "label": "Mechanism for indicating foreign key relationships in the table and query page URLs"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/620#issuecomment-552251831", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/620", "id": 552251831, "node_id": "MDEyOklzc3VlQ29tbWVudDU1MjI1MTgzMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-11T00:25:58Z", "updated_at": "2019-11-11T00:25:58Z", "author_association": "OWNER", "body": "There are three pieces of information that need to be described here: the column, the other table and the other table column.\r\n\r\nWe already have a piece of API design that is similar to this: the `_through=` parameter, which looks like this:\r\n\r\n`?_through={\"table\":\"m2m_characteristics\",\"column\":\"characteristic_id\",\"value\":\"1\"}`\r\n\r\nI'm rethinking this syntax in #621 though to support a non-JSON variant that looks more like this:\r\n\r\n`?_through.roadside_attraction_characteristics.characteristic_id=1`", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 520667773, "label": "Mechanism for indicating foreign key relationships in the table and query page URLs"}, "performed_via_github_app": null}