1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Migrate CablePath to use two-dimensional array

This commit is contained in:
jeremystretch
2022-05-03 11:32:52 -04:00
parent c22007939b
commit 82706eb3a6
11 changed files with 183 additions and 55 deletions

View File

@ -10,6 +10,7 @@ from .lookups import PathContains
__all__ = (
'ASNField',
'MACAddressField',
'MultiNodePathField',
'PathField',
'WWNField',
)
@ -104,4 +105,16 @@ class PathField(ArrayField):
super().__init__(**kwargs)
class MultiNodePathField(ArrayField):
"""
A two-dimensional ArrayField which represents a path, with one or more nodes at each hop. Each node is
identified by a (type, ID) tuple.
"""
def __init__(self, **kwargs):
kwargs['base_field'] = ArrayField(
base_field=models.CharField(max_length=40)
)
super().__init__(**kwargs)
PathField.register_lookup(PathContains)