models.py 891 B

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. from django.db import models
  3. from netfields import CidrAddressField, NetManager
  4. class IPPool(models.Model):
  5. """Pool of IP addresses (either v4 or v6)."""
  6. name = models.CharField(max_length=255, blank=False, null=False,
  7. verbose_name='Name of the IP pool')
  8. description = models.TextField(blank=True, null=False,
  9. verbose_name='Description of the IP pool')
  10. inet = CidrAddressField()
  11. objects = NetManager()
  12. def __unicode__(self):
  13. return self.name
  14. class IPSubnet(models.Model):
  15. inet = CidrAddressField()
  16. objects = NetManager()
  17. ip_pool = models.ForeignKey(IPPool)
  18. offer_subscription = models.ForeignKey('offers.OfferSubscription',
  19. related_name='ip_subnet')
  20. def __unicode__(self):
  21. return str(self.inet)