Skip to content

Reverse foreign key lookups #378

@dantownsend

Description

@dantownsend

Now we have M2M, it makes sense to add something similar for reverse foreign key lookups.

This needs doing before v1.

Here's an example API design:

class Manager(Table):
    name = Varchar()
    bands = ReverseLookup(LazyTableReference('Band', module_path=__module__))


class Band(Table):
    name = Varchar()
    manager = ForeignKey(Manager)


>>> await Manager.select(Manager.name, Manager.bands(Band.name, as_list=True))
[
    {
        "name": "Guido",
        "bands": ["Pythonistas"]
    }
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions