diff options
author | Rob Austein <sra@hactrn.net> | 2012-01-07 09:19:03 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-01-07 09:19:03 +0000 |
commit | 39676701fc6c5dedde2248178b16b394e90d48b9 (patch) | |
tree | 17fbb58bdc1325e85f406d0ddcdc30b97b9d699e /rpkid/rpki/irdb/models.py | |
parent | 34a4fae432178c2a34dbc03376f149ed91bd4d1d (diff) |
Checkpoint. rpkic and yamltest mostly work, but irdbd is still acting
weird.
svn path=/branches/tk100/; revision=4146
Diffstat (limited to 'rpkid/rpki/irdb/models.py')
-rw-r--r-- | rpkid/rpki/irdb/models.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/rpkid/rpki/irdb/models.py b/rpkid/rpki/irdb/models.py index 071e0918..1add3593 100644 --- a/rpkid/rpki/irdb/models.py +++ b/rpkid/rpki/irdb/models.py @@ -209,6 +209,7 @@ class CertificateManager(django.db.models.Manager): return obj, changed def _get_or_certify_keys(self, kwargs): + assert len(self.model._meta.unique_together) == 1 return dict((k, kwargs[k]) for k in self.model._meta.unique_together[0]) class ResourceHolderCAManager(CertificateManager): @@ -452,6 +453,10 @@ class Child(CrossCertification): name = django.db.models.TextField(null = True, blank = True) valid_until = SundialField() + # This shouldn't be necessary + class Meta: + unique_together = ("issuer", "handle") + class ChildASN(django.db.models.Model): child = django.db.models.ForeignKey(Child, related_name = "asns") start_as = django.db.models.BigIntegerField() @@ -477,6 +482,10 @@ class Parent(CrossCertification, Turtle): referrer = HandleField(null = True, blank = True) referral_authorization = SignedReferralField(null = True, blank = True) + # This shouldn't be necessary + class Meta: + unique_together = ("issuer", "handle") + class ROARequest(django.db.models.Model): issuer = django.db.models.ForeignKey(ResourceHolderCA, related_name = "roa_requests") asn = django.db.models.BigIntegerField() @@ -503,7 +512,14 @@ class Repository(CrossCertification): sia_base = django.db.models.TextField() turtle = django.db.models.OneToOneField(Turtle, related_name = "repository") + # This shouldn't be necessary + class Meta: + unique_together = ("issuer", "handle") + class Client(CrossCertification): issuer = django.db.models.ForeignKey(ServerCA, related_name = "clients") sia_base = django.db.models.TextField() + # This shouldn't be necessary + class Meta: + unique_together = ("issuer", "handle") |