aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/irdb/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/irdb/models.py')
-rw-r--r--rpkid/rpki/irdb/models.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/rpkid/rpki/irdb/models.py b/rpkid/rpki/irdb/models.py
index 5afbebb3..d2db4067 100644
--- a/rpkid/rpki/irdb/models.py
+++ b/rpkid/rpki/irdb/models.py
@@ -64,10 +64,17 @@ class BinaryField(django.db.models.Field):
else:
return "BLOB"
-## @var IP_VERSION_MAP
-# Choice map for IP version enumerations.
-
-IP_VERSION_MAP = ChoiceMap("IPv4", "IPv6")
+## @var ip_version_map
+# Custom choice map for IP version enumerations, so we can use the
+# obvious numeric values in the database, which is a bit easier on
+# anybody reading the raw SQL.
+#
+ip_version_map = { "IPv4" : 4, "IPv6" : 6 }
+
+## @var ip_version_choices
+# Choice argument for fields implementing IP version numbers.
+#
+ip_version_choices = [(y, x) for (x, y) in ip_version_map.iteritems()]
###
@@ -113,8 +120,8 @@ class ChildNet(django.db.models.Model):
child_net_id = django.db.models.BigIntegerField(unique = True)
start_ip = django.db.models.CharField(max_length = 40)
end_ip = django.db.models.CharField(max_length = 40)
- version_map = IP_VERSION_MAP
- version = django.db.models.PositiveSmallIntegerField(choices = version_map.choices)
+ version_map = ip_version_map
+ version = django.db.models.PositiveSmallIntegerField(choices = ip_version_choices)
child = django.db.models.ForeignKey(Child, related_name = "address_ranges")
class Parent(BPKICertificate):
@@ -129,13 +136,12 @@ class Parent(BPKICertificate):
class ROARequest(django.db.models.Model):
identity = django.db.models.ForeignKey(Identity, related_name = "roa_requests")
- handle = HandleField()
asn = django.db.models.BigIntegerField()
class ROARequestPrefix(django.db.models.Model):
roa_request = django.db.models.ForeignKey(ROARequest, related_name = "prefixes")
- version_map = IP_VERSION_MAP
- version = django.db.models.PositiveSmallIntegerField(choices = version_map.choices)
+ version_map = ip_version_map
+ version = django.db.models.PositiveSmallIntegerField(choices = ip_version_choices)
prefix = django.db.models.CharField(max_length = 40)
prefixlen = django.db.models.PositiveSmallIntegerField()
max_prefixlen = django.db.models.PositiveSmallIntegerField()