Epic: Model filterset support for relationships
Environment
- Python version: 3.8
- Nautobot version: 1.2.4
Proposed Functionality
As Nelly the Network Engineer, I want to be able to filter the device list view by the software version, which is provided by the software relationship in the device lifecycle management plugin, so that I can intuitively find devices by a specific software version.
Use Case
While this is just one specific use case facilitated by an off-the-shelf plugin, the root issue is the inability to have relationships participate in a model's filterset.
One interesting question is what should be done for relationships that are filtered/scoped to a subset of objects. Personally, in the first pass on this implementation I am fine with ignoring that case and always showing a relationship filter, regardless of its object scoping.
Database Changes
The only consideration is if the current relationship data model prevents performant filtering operations.
External Dependencies
None
Requirements
- [x] #1883
- [x] #1884
- [ ] ManyToMany or OneToMany fields will be an AND, plus offer docs on using dynamic groups
Out of Scope
- [ ] Restricting relationship filters based on relationship object filter
Should this require #1468?