Skip to content

Instantly share code, notes, and snippets.

@tyler-8
Last active July 4, 2022 14:59
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tyler-8/0a99763cae01c97e8f80f5aca09db968 to your computer and use it in GitHub Desktop.
Save tyler-8/0a99763cae01c97e8f80f5aca09db968 to your computer and use it in GitHub Desktop.
Enforce case-insensitive unique VM names.
from extras.validators import CustomValidator
from virtualization.models import VirtualMachine
class UniqueVirtualMachineNamesCasefold(CustomValidator):
"""Enforce case-insensitive unique VM names.
Your configuration.py file would contain something like this:
CUSTOM_VALIDATORS = {
"virtualization.virtualmachine": (
'my_validators.UniqueVirtualMachineNamesCasefold',
),
}
"""
def validate(self, virtual_machine):
existing_vms = VirtualMachine.objects.filter(
name__iexact=virtual_machine.name
).exists()
if existing_vms:
self.fail("VirtualMachine name already in use.", field="name")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment