from django.db import models from jsonfield import JSONField class TabbedPage(models.Model): name = models.CharField( max_length=128, unique=True ) def __unicode__(self): return self.name class TabInstance(models.Model): settings = JSONField(blank=True) view_name = models.CharField(max_length=128) page = models.ForeignKey(TabbedPage, related_name='tabs') name = models.CharField(max_length=128) default = models.BooleanField(default=False) position = models.PositiveIntegerField(default=0) label = models.CharField(max_length=128) def __unicode__(self): return self.label class Meta: unique_together = ('name', 'page')