class Asset(models.Model):
hostname = models.CharField(
blank=True,
default=None,
max_length=255,
null=True,
unique=True,
verbose_name=_('hostname'),
)
port_count = models.PositiveSmallIntegerField(
verbose_name=_('port count'),
default=1,
blank=True
)
ports = models.ForeignKey(
'Port',
blank=True,
default=None,
null=True,
to_field='id',
on_delete=models.DO_NOTHING,
)
def __str__(self):
return self.hostname
class Port(models.Model):
name = models.CharField(
blank=True,
default=None,
max_length=255,
null=True,
verbose_name=_('name'),
)
device = models.ForeignKey(
'Asset',
blank=True,
default=None,
null=True,
to_field='hostname',
on_delete=models.CASCADE,
related_name='device',
)
def __str__(self):
return self.name