The models api is not very consistent
The models functions are not very consistent. Some are named "search" and others "search-by", some take a required argument and some take an inplicit ID, and so on.
We should make them consistent.
We can take inspiration from another ORM like Django.