Make VLANTranslationRule.policy nullable (but still required)

This commit is contained in:
Brian Tiemann 2024-10-22 08:36:20 -04:00
parent 25c8aca1fb
commit 4c1bb437ef
3 changed files with 4 additions and 3 deletions

View File

@ -291,7 +291,7 @@ class VLANTranslationPolicyType(NetBoxObjectType):
filters=VLANTranslationRuleFilter
)
class VLANTranslationRuleType(NetBoxObjectType):
policy: Annotated["VLANTranslationPolicyType", strawberry.lazy('ipam.graphql.types')]
policy: Annotated["VLANTranslationPolicyType", strawberry.lazy('ipam.graphql.types')] | None
@strawberry_django.type(

View File

@ -42,7 +42,7 @@ class Migration(migrations.Migration):
('custom_field_data', models.JSONField(blank=True, default=dict, encoder=utilities.json.CustomFieldJSONEncoder)),
('local_vid', models.PositiveSmallIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(4094)])),
('remote_vid', models.PositiveSmallIntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(4094)])),
('policy', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rules', to='ipam.vlantranslationpolicy')),
('policy', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='rules', to='ipam.vlantranslationpolicy')),
('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')),
],
options={

View File

@ -297,7 +297,8 @@ class VLANTranslationRule(NetBoxModel):
policy = models.ForeignKey(
to=VLANTranslationPolicy,
related_name='rules',
on_delete=models.CASCADE,
on_delete=models.SET_NULL,
null=True,
)
local_vid = models.PositiveSmallIntegerField(
verbose_name=_('Local VLAN ID'),