class Exporter(models.Model): job = models.CharField(max_length=128, help_text="Exporter name. Example node, jmx, app") port = models.IntegerField(help_text="Port Exporter is running on") path = models.CharField(max_length=128, blank=True, help_text="Exporter path. Defaults to /metrics") scheme = models.CharField(max_length=5, choices=(("http", "http"), ("https", "https")), default="http", help_text="Scrape exporter over http or https") project = models.ForeignKey("Project", on_delete=models.CASCADE) enabled = models.BooleanField(default=True) class Meta: ordering = ['job', 'port'] unique_together = (( 'job', 'port', 'project', ), ) def __str__(self): return '{}:{}:{} ({})'.format(self.job, self.port, self.path, self.project) def get_absolute_url(self): return reverse('project-detail', kwargs={'pk': self.project.pk})
class DefaultExporter(models.Model): job = models.CharField(max_length=128) port = models.IntegerField() path = models.CharField(max_length=128, blank=True) class Meta: ordering = ['job', 'port'] unique_together = (('job', 'port', 'path'), ) def __str__(self): return '{}:{}{}'.format(self.job, self.port, self.path or '/metrics')
class DefaultExporter(models.Model): job = models.CharField(max_length=128) port = models.IntegerField() path = models.CharField(max_length=128, blank=True) class Meta: ordering = ["job", "port"] unique_together = (("job", "port", "path"), ) def __str__(self): return "{}:{}{}".format(self.job, self.port, self.path or "/metrics")
class Prometheus(models.Model): shard = models.ForeignKey('Shard', on_delete=models.CASCADE) host = models.CharField(max_length=128) port = models.IntegerField() def __str__(self): return '{}:{}'.format(self.host, self.port) class Meta: ordering = ['shard', 'host'] unique_together = (('host', 'port',),) verbose_name_plural = 'prometheis'
class Exporter(models.Model): job = models.CharField(max_length=128) port = models.IntegerField() path = models.CharField(max_length=128, blank=True) project = models.ForeignKey('Project', on_delete=models.CASCADE) enabled = models.BooleanField(default=True) class Meta: ordering = ['job', 'port'] unique_together = (('job', 'port', 'project',),) def __str__(self): return '{}:{}:{} ({})'.format(self.job, self.port, self.path, self.project) def get_absolute_url(self): return reverse('project-detail', kwargs={'pk': self.project.pk})
class BaseExporter(models.Model): job = models.CharField(max_length=128, help_text="Exporter name. Example node, jmx, app") port = models.IntegerField(help_text="Port Exporter is running on") path = models.CharField(max_length=128, blank=True, help_text="Exporter path. Defaults to /metrics") scheme = models.CharField( max_length=5, choices=(("http", "http"), ("https", "https")), default="http", help_text="Scrape exporter over http or https", ) class Meta: abstract = True
class Migration(migrations.Migration): replaces = [('promgen', '0001_initial'), ('promgen', '0002_audit'), ('promgen', '0003_setting'), ('promgen', '0004_auto_20161019_0755'), ('promgen', '0005_sender'), ('promgen', '0006_auto_20161019_1214'), ('promgen', '0007_auto_20161020_0253'), ('promgen', '0008_auto_20161020_0528'), ('promgen', '0009_auto_20161021_0640'), ('promgen', '0010_auto_20161025_0034'), ('promgen', '0011_auto_20161025_0737'), ('promgen', '0012_auto_20161027_0306'), ('promgen', '0013_auto_20161027_0307'), ('promgen', '0014_stat'), ('promgen', '0015_delete_stat'), ('promgen', '0016_auto_20161121_0714'), ('promgen', '0017_auto_20161215_2352'), ('promgen', '0018_rule_enabled'), ('promgen', '0019_url'), ('promgen', '0020_auto_20161226_0337'), ('promgen', '0021_auto_20161228_0049'), ('promgen', '0022_auto_20170116_0824'), ('promgen', '0023_shard'), ('promgen', '0024_auto_20170220_0324'), ('promgen', '0025_shard_url'), ('promgen', '0026_auto_20170315_0344'), ('promgen', '0027_prometheus_server'), ('promgen', '0028_url_sort_fields'), ('promgen', '0029_auto_20170406_0236'), ('promgen', '0030_exporter_enabled'), ('promgen', '0031_sender_to_notification'), ('promgen', '0032_audit_diff'), ('promgen', '0033_diff_old'), ('promgen', '0034_auto_20170622_0518'), ('promgen', '0035_rule_parent'), ('promgen', '0036_auto_20170626_0231'), ('promgen', '0037_shard_proxy'), ('promgen', '0038_audit_user'), ('promgen', '0039_auto_20170725_0257'), ('promgen', '0040_default_farm'), ('promgen', '0041_sender_owner'), ('promgen', '0042_description_field'), ('promgen', '0043_rule_description'), ('promgen', '0044_common-rules')] initial = True dependencies = [ ('sites', '0002_alter_domain_unique'), ('contenttypes', '0002_remove_content_type_name'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Audit', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('body', models.TextField()), ('created', models.DateTimeField()), ('data', models.TextField(blank=True)), ('old', models.TextField(blank=True)), ('object_id', models.PositiveIntegerField(default=0)), ('content_type', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ('user', models.ForeignKey( default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Exporter', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('job', models.CharField(max_length=128)), ('port', models.IntegerField()), ('path', models.CharField(blank=True, max_length=128)), ('enabled', models.BooleanField(default=True)), ], options={ 'ordering': ['job', 'port'], }, ), migrations.CreateModel( name='Farm', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('source', models.CharField(max_length=128)), ], options={ 'ordering': ['name'], }, ), migrations.CreateModel( name='Host', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('farm', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='promgen.Farm')), ], options={ 'ordering': ['name'], }, ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128, unique=True)), ('description', models.TextField(blank=True)), ('farm', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='promgen.Farm')), ], options={ 'ordering': ['name'], }, ), migrations.CreateModel( name='Prometheus', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('host', models.CharField(max_length=128)), ('port', models.IntegerField()), ], options={ 'verbose_name_plural': 'prometheis', 'ordering': ['shard', 'host'], }, ), migrations.CreateModel( name='Rule', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField( max_length=128, unique=True, validators=[ django.core.validators.RegexValidator( '^[0-9a-zA-Z_]*$', 'Only alphanumeric characters are allowed.') ])), ('clause', models.TextField(help_text='Prometheus query')), ('duration', models.CharField( help_text= 'Duration field with postfix. Example 30s, 5m, 1d', max_length=128, validators=[promgen.validators.prometheusduration])), ('enabled', models.BooleanField(default=True)), ('object_id', models.PositiveIntegerField()), ('description', models.TextField(blank=True)), ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ('parent', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='overrides', to='promgen.Rule')), ], options={ 'ordering': ['content_type', 'object_id', 'name'], }, ), migrations.CreateModel( name='RuleAnnotation', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('value', models.TextField()), ('rule', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='promgen.Rule')), ], ), migrations.CreateModel( name='RuleLabel', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('value', models.CharField(max_length=128)), ('rule', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='promgen.Rule')), ], ), migrations.CreateModel( name='Sender', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sender', models.CharField(max_length=128)), ('value', models.CharField(max_length=128)), ('alias', models.CharField(blank=True, max_length=128)), ('object_id', models.PositiveIntegerField()), ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ('owner', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Service', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128, unique=True)), ('description', models.TextField(blank=True)), ], options={ 'ordering': ['shard', 'name'], }, ), migrations.CreateModel( name='Shard', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128, unique=True)), ('url', models.URLField(max_length=256)), ('proxy', models.BooleanField(default=False)), ], options={ 'ordering': ['name'], }, ), migrations.CreateModel( name='URL', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('url', models.URLField(max_length=256)), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='promgen.Project')), ], options={ 'ordering': ['project__service', 'project', 'url'], }, ), migrations.CreateModel( name='Site', fields=[], options={ 'indexes': [], 'proxy': True, }, bases=('sites.site', ), managers=[ ('objects', django.contrib.sites.models.SiteManager()), ], ), migrations.AddField( model_name='service', name='shard', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='promgen.Shard'), ), migrations.AddField( model_name='prometheus', name='shard', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='promgen.Shard'), ), migrations.AddField( model_name='project', name='service', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='promgen.Service'), ), migrations.AlterUniqueTogether( name='farm', unique_together=set([('name', 'source')]), ), migrations.AddField( model_name='exporter', name='project', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='promgen.Project'), ), migrations.AlterUniqueTogether( name='prometheus', unique_together=set([('host', 'port')]), ), migrations.AlterUniqueTogether( name='host', unique_together=set([('name', 'farm')]), ), migrations.AlterUniqueTogether( name='exporter', unique_together=set([('job', 'port', 'project')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('sites', '0002_alter_domain_unique'), ] operations = [ migrations.CreateModel( name='SiteCustomization', fields=[ ('site', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='sites.site', verbose_name='site')), ('is_open_for_signup', models.BooleanField(default=True, verbose_name='is open for signup')), ('tagline', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, verbose_name='tagline')), ('tagline_fr', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_en', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_de', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_pt', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_es', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ja', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ar', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ar_dz', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_zh_hans', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_br', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('description', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, verbose_name='description')), ('description_fr', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_en', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_de', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_pt', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_es', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ja', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ar', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ar_dz', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_zh_hans', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_br', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ], options={ 'verbose_name': 'site customization', 'verbose_name_plural': 'site customizations', 'ordering': ['site'], }, ), migrations.CreateModel( name='HistoricalSiteCustomization', fields=[ ('is_open_for_signup', models.BooleanField(default=True, verbose_name='is open for signup')), ('tagline', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, verbose_name='tagline')), ('tagline_fr', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_en', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_de', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_pt', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_es', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ja', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ar', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_ar_dz', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_zh_hans', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('tagline_br', models.CharField(blank=True, default='A few words to describe this very website.', help_text='A few words to describe this very website.', max_length=255, null=True, verbose_name='tagline')), ('description', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, verbose_name='description')), ('description_fr', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_en', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_de', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_pt', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_es', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ja', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ar', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_ar_dz', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_zh_hans', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('description_br', models.TextField(blank=True, default='A short text to describe this very website.', help_text='A short text to describe this very website.', max_length=2048, null=True, verbose_name='description')), ('history_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('history_date', models.DateTimeField()), ('history_change_reason', models.CharField(max_length=100, null=True)), ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ('site', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='sites.site', verbose_name='site')), ], options={ 'verbose_name': 'historical site customization', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), migrations.CreateModel( name='HistoricalSite', fields=[ ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), ('domain', models.CharField(db_index=True, max_length=100, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name')), ('name', models.CharField(max_length=50, verbose_name='display name')), ('history_id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('history_date', models.DateTimeField()), ('history_change_reason', models.CharField(max_length=100, null=True)), ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'historical site', 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', }, bases=(simple_history.models.HistoricalChanges, models.Model), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('sites', '0002_alter_domain_unique'), ('pulse', '0005_auto_20180422_1602'), ] operations = [ migrations.CreateModel( name='MenuItem', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('icon', models.SlugField(blank=True, choices=[('fa fa-home', 'Home'), ('fa fa-pencil-square-o', 'Posts'), ('fa fa-book', 'Notes'), ('fa fa-tags', 'Topics'), ('fa fa-code-fork', 'Channels'), ('fa fa-file-image-o', 'Media'), ('fa fa-cogs', 'Gears')], max_length=510)), ('title', models.CharField(default='Untitled', max_length=510)), ('description', models.CharField(blank=True, help_text='Optional subtitle', max_length=510)), ('slug', models.SlugField(blank=True, max_length=510)), ('url', models.CharField(blank=True, max_length=510)), ('weight', models.IntegerField(default=0)), ('date_created', models.DateTimeField(auto_now_add=True)), ('date_updated', models.DateTimeField(auto_now=True)), ('page', models.ForeignKey(blank=True, default=replica.pulse.models.DefaultEntry, null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='pulse.Entry')), ], options={ 'verbose_name': 'Menu Item', 'verbose_name_plural': 'Menu Items', 'db_table': 'r_MenuItem', 'ordering': ('weight',), }, ), migrations.CreateModel( name='MenuPosition', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('title', models.CharField(default='Untitled', max_length=510)), ('slug', models.SlugField(max_length=510)), ('date_created', models.DateTimeField(auto_now_add=True)), ('date_updated', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Menu', 'verbose_name_plural': 'Menus', 'db_table': 'r_MenuPosition', 'ordering': ('-title',), }, ), migrations.CreateModel( name='Plugin', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('name', models.CharField(blank=True, max_length=510)), ('slug', models.SlugField(max_length=510)), ('author', models.CharField(blank=True, max_length=510)), ('is_enabled', models.BooleanField(choices=[(True, 'Enabled'), (False, 'Disabled')], default=True, help_text='Check to enable plugin')), ('date_created', models.DateTimeField(auto_now_add=True)), ('date_updated', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Plugin', 'verbose_name_plural': 'Plugins', 'db_table': 'r_Plugin', 'ordering': ('slug', 'date_updated'), }, ), migrations.CreateModel( name='SiteSettings', fields=[ ('site_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='sites.Site')), ('is_enabled', models.BooleanField(choices=[(True, 'Enabled'), (False, 'Disabled')], default=True, help_text='Is site enabled?')), ('password', models.CharField(blank=True, max_length=128)), ('secret_token', models.CharField(blank=True, max_length=12)), ('view_settings', models.TextField(default='{}')), ('author', models.CharField(blank=True, max_length=510)), ('description', models.TextField(blank=True, help_text='Site Description', null=True)), ('summary', models.TextField(blank=True, help_text='Summary')), ('summary_html', models.TextField(blank=True, editable=False)), ('date_created', models.DateTimeField(auto_now_add=True)), ('date_updated', models.DateTimeField(auto_now=True)), ('featured', models.ForeignKey(blank=True, help_text='Featured Image', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='featured', to='pulse.Media')), ('logo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='logo', to='pulse.Media')), ], options={ 'verbose_name': 'Site Settings', 'verbose_name_plural': 'Site Settings', 'db_table': 'r_SiteSettings', }, bases=('sites.site',), managers=[ ('objects', django.contrib.sites.models.SiteManager()), ], ), migrations.AddField( model_name='menuitem', name='position', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cms.MenuPosition'), ), ]