You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

28 lines
808 B

from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from nas_app.models import NASModel
from djing import IP_ADDR_REGEX
class NasForm(forms.ModelForm):
def clean_default(self):
cd = self.cleaned_data
default = cd.get('default')
if default:
try:
NASModel.objects.get(default=True)
raise ValidationError(message=_('Can be only one default gateway'), code='unique')
except NASModel.DoesNotExist:
pass
return default
class Meta:
model = NASModel
fields = '__all__'
widgets = {
'ip_address': forms.TextInput(attrs={
'pattern': IP_ADDR_REGEX
})
}