summaryrefslogtreecommitdiff
path: root/mirrors/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'mirrors/models.py')
-rw-r--r--mirrors/models.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/mirrors/models.py b/mirrors/models.py
index 86905eea..19437610 100644
--- a/mirrors/models.py
+++ b/mirrors/models.py
@@ -3,15 +3,8 @@ from urlparse import urlparse
from django.db import models
from django.core.exceptions import ValidationError
+from django_countries import CountryField
-class NullCharField(models.CharField):
- description = "String (up to %(max_length)s), NULL if value is empty"
- _south_introspects = True
-
- def get_prep_value(self, value):
- if value == '':
- return None
- return self.to_python(value)
TIER_CHOICES = (
(0, 'Tier 0'),
@@ -20,11 +13,12 @@ TIER_CHOICES = (
(-1, 'Untiered'),
)
+
class Mirror(models.Model):
name = models.CharField(max_length=255, unique=True)
tier = models.SmallIntegerField(default=2, choices=TIER_CHOICES)
upstream = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
- country = models.CharField(max_length=255, db_index=True)
+ country = CountryField(blank=True, db_index=True)
admin_email = models.EmailField(max_length=255, blank=True)
public = models.BooleanField(default=True)
active = models.BooleanField(default=True)
@@ -68,8 +62,7 @@ class MirrorUrl(models.Model):
protocol = models.ForeignKey(MirrorProtocol, related_name="urls",
editable=False, on_delete=models.PROTECT)
mirror = models.ForeignKey(Mirror, related_name="urls")
- country = NullCharField(max_length=255, null=True, blank=True,
- db_index=True)
+ country = CountryField(blank=True, db_index=True)
has_ipv4 = models.BooleanField("IPv4 capable", default=True,
editable=False)
has_ipv6 = models.BooleanField("IPv6 capable", default=False,