Support Primary IP Address Lookup Expression for Device and Virtual Machine #1199

Closed
opened 2026-04-05 21:52:46 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @jseifeddine on 9/23/2025

NetBox version

v4.4.1

Feature type

Change to existing functionality

Proposed functionality

It would be nice to be able to use lookup expressions with primary IP address on device / vm
As documented: String Lookup Expressions

I see that some work was done for IP address filtering recently...
https://github.com/netbox-community/netbox/issues/19110

But rather than fixing a fix - I would rather mimic the behavior of lookup expressions for the name field, as an IP address is a string also... it makes sense that it should have the same expressions available

And just as a side note: the documentation for String Lookup Expressions that I would expect works with any string field, is a hit and miss .... depending on what field it is - and i guess, who implemented the filterset FR

So there is possibly more in this than just the primary IP address filter
But it would be nice that all fields are consistent in the way that they can be filtered...

I am happy to spend quality time on this and submit a PR, if the issue is accepted and we can get some solid direction to move forward

Maybe I am missing something? If not, I'm happy to get to work on at least the primary IP address fix - and ultimately - if this is a valid issue across the board, apply this fix to any string filters across the board.

(sorry I can't come up with any other examples right now, but I can track that down and post updates)

Use case

Easily search devices / vms based on IP address starting with, ie. primary_ip4__isw

eg. /dcim/devices/?primary_ip4__isw=100.64.

Database changes

Don't think so

External dependencies

None

*Originally created by @jseifeddine on 9/23/2025* ### NetBox version v4.4.1 ### Feature type Change to existing functionality ### Proposed functionality It would be nice to be able to use lookup expressions with primary IP address on device / vm As documented: [`String Lookup Expressions`](https://netboxlabs.com/docs/netbox/reference/filtering/#string-fields) I see that some work was done for IP address filtering recently... https://github.com/netbox-community/netbox/issues/19110 But rather than fixing a fix - I would rather mimic the behavior of lookup expressions for the `name` field, as an IP address is a string also... it makes sense that it should have the same expressions available And just as a side note: the documentation for [`String Lookup Expressions`](https://netboxlabs.com/docs/netbox/reference/filtering/#string-fields) that I would expect works with any string field, is a hit and miss .... depending on what field it is - and i guess, who implemented the filterset `FR` So there is possibly more in this than just the primary IP address filter But it would be nice that all fields are consistent in the way that they can be filtered... I am happy to spend quality time on this and submit a `PR`, if the issue is accepted and we can get some solid direction to move forward Maybe I am missing something? If not, I'm happy to get to work on at least the primary IP address fix - and ultimately - if this is a valid issue across the board, apply this fix to any string filters across the board. (sorry I can't come up with any other examples right now, but I can track that down and post updates) ### Use case Easily search devices / vms based on IP address starting with, ie. `primary_ip4__isw` eg. `/dcim/devices/?primary_ip4__isw=100.64.` ### Database changes Don't think so ### External dependencies None
MrUnknownDE added the type: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: featuretype: feature labels 2026-04-05 21:53:15 +02:00
Sign in to join this conversation.
No Label type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature type: feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/netbox#1199