quary filter tag__n

This commit is contained in:
Шрамко Илья Александрович
2026-02-06 17:16:19 +03:00
parent 6e535242dc
commit 3767880f2a

View File

@@ -7,9 +7,10 @@ from dcim.models import VirtualChassis, Interface
from netbox.choices import ColorChoices
from utilities.exceptions import AbortScript
TAGS = "sync:vchas_interface"
class Vchassis_checker(Script):
TAGS = "sync:vchas_interface"
IFACE_RE = re.compile(
r"^(?P<prefix>[A-Za-z]+)\s?(?:(?P<slot>\d+)/)?(?P<rest>\d+/\d+)$"
)
@@ -23,18 +24,18 @@ class Vchassis_checker(Script):
virtual_chassis = ObjectVar(
model=VirtualChassis,
description="Виртуальное шасси без тегов",
query_params={"tags": []},
query_params={"tag__n": TAGS},
)
def run(self, data, commit):
if Tag.objects.filter(name=self.TAGS).exists():
tag = Tag.objects.get(name=self.TAGS)
if Tag.objects.filter(name=TAGS).exists():
tag = Tag.objects.get(name=TAGS)
else:
self.log_warning(f"Отсутствует tag {self.TAGS}")
self.log_warning(f"Отсутствует tag {TAGS}")
tag_data = {
"color": ColorChoices.COLOR_LIGHT_BLUE,
"name": self.TAGS,
"slug": self.TAGS.replace(":", "_"),
"name": TAGS,
"slug": TAGS.replace(":", "_"),
"description": "тег для автоматического назначения на синхронизированные интерфейсы vchassis",
}
tag = Tag(**tag_data)
@@ -42,7 +43,7 @@ class Vchassis_checker(Script):
tag.full_clean()
tag.save()
self.log_success(
f"Создан тег: {self.TAGS}",
f"Создан тег: {TAGS}",
obj=tag,
)
vc = data["virtual_chassis"]