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 filters=VLANTranslationRuleFilter
) )
class VLANTranslationRuleType(NetBoxObjectType): class VLANTranslationRuleType(NetBoxObjectType):
policy: Annotated["VLANTranslationPolicyType", strawberry.lazy('ipam.graphql.types')] policy: Annotated["VLANTranslationPolicyType", strawberry.lazy('ipam.graphql.types')] | None
@strawberry_django.type( @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)), ('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)])), ('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)])), ('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')), ('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')),
], ],
options={ options={

View File

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