1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/peeringdb_server/migrations/0001_initial.py
2018-11-08 19:45:21 +00:00

846 lines
40 KiB
Python

# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-08-03 22:13
from __future__ import unicode_literals
from django.conf import settings
import django.contrib.auth.models
import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import django.db.models.manager
import django.utils.timezone
import django_countries.fields
import django_handleref.models
import django_inet.models
import django_peeringdb.models.abstract
import peeringdb_server.models
class Migration(migrations.Migration):
initial = True
dependencies = [
('contenttypes', '0002_remove_content_type_name'),
('auth', '0008_alter_user_username_max_length'),
]
operations = [
migrations.CreateModel(
name='User',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('password',
models.CharField(max_length=128, verbose_name='password')),
('last_login',
models.DateTimeField(blank=True, null=True,
verbose_name='last login')),
('is_superuser',
models.BooleanField(
default=False, help_text=
'Designates that this user has all permissions without explicitly assigning them.',
verbose_name='superuser status')),
('username',
models.CharField(
help_text='Required. Letters, digits and [@.+-/_=|] only.',
max_length=254, unique=True, validators=[
django.core.validators.RegexValidator(
b'^[\\w\\.@+-=|/]+$', 'Enter a valid username.',
b'invalid', flags=32)
], verbose_name='username')),
('email',
models.EmailField(max_length=254,
verbose_name='email address')),
('first_name',
models.CharField(blank=True, max_length=254,
verbose_name='first name')),
('last_name',
models.CharField(blank=True, max_length=254,
verbose_name='last name')),
('is_staff',
models.BooleanField(
default=False, help_text=
'Designates whether the user can log into admin site.',
verbose_name='staff status')),
('is_active',
models.BooleanField(
default=True, help_text=
'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.',
verbose_name='active')),
('date_joined',
models.DateTimeField(default=django.utils.timezone.now,
verbose_name='date joined')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('status',
models.CharField(default=b'ok', max_length=254,
verbose_name='status')),
],
options={
'db_table': 'peeringdb_user',
'verbose_name': 'user',
'verbose_name_plural': 'users',
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name='Facility',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('address1', models.CharField(blank=True, max_length=255)),
('address2', models.CharField(blank=True, max_length=255)),
('city', models.CharField(blank=True, max_length=255)),
('state', models.CharField(blank=True, max_length=255)),
('zipcode', models.CharField(blank=True, max_length=48)),
('country',
django_countries.fields.CountryField(blank=True,
max_length=2)),
('name', models.CharField(max_length=255, unique=True)),
('website',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('clli', models.CharField(blank=True, max_length=18)),
('rencode', models.CharField(blank=True, max_length=18)),
('npanxx', models.CharField(blank=True, max_length=21)),
('notes', models.TextField(blank=True)),
],
options={
'abstract': False,
'db_table': 'peeringdb_facility',
'verbose_name_plural': 'Facilities',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='InternetExchange',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('name', models.CharField(max_length=64, unique=True)),
('name_long', models.CharField(blank=True, max_length=254)),
('city', models.CharField(max_length=192)),
('country',
django_countries.fields.CountryField(max_length=2)),
('notes', models.TextField(blank=True)),
('region_continent',
models.CharField(
choices=[(b'North America', b'North America'),
(b'Asia Pacific', b'Asia Pacific'), (b'Europe',
b'Europe'),
(b'South America',
b'South America'), (b'Africa', b'Africa'),
(b'Australia', b'Australia'), (b'Middle East',
b'Middle East')],
max_length=255)),
('media',
models.CharField(
choices=[(b'Ethernet', b'Ethernet'), (b'ATM', b'ATM'),
(b'Multiple', b'Multiple')], max_length=128)),
('proto_unicast', models.BooleanField(default=False)),
('proto_multicast', models.BooleanField(default=False)),
('proto_ipv6', models.BooleanField(default=False)),
('website',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('url_stats',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('tech_email', models.EmailField(blank=True, max_length=254)),
('tech_phone', models.CharField(blank=True, max_length=192)),
('policy_email', models.EmailField(blank=True,
max_length=254)),
('policy_phone', models.CharField(blank=True, max_length=192)),
],
options={
'abstract': False,
'db_table': 'peeringdb_ix',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='InternetExchangeFacility',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('facility',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='ixfac_set',
to='peeringdb_server.Facility')),
('ix',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='ixfac_set',
to='peeringdb_server.InternetExchange')),
],
options={
'db_table': 'peeringdb_ix_facility',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='IXLan',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('name', models.CharField(blank=True, max_length=255)),
('descr', models.TextField(blank=True)),
('mtu', models.PositiveIntegerField(blank=True, null=True)),
('vlan', models.PositiveIntegerField(blank=True, null=True)),
('dot1q_support', models.BooleanField(default=False)),
('rs_asn',
django_inet.models.ASNField(blank=True, default=0,
null=True)),
('arp_sponge',
django_inet.models.MacAddressField(blank=True, max_length=17,
null=True, unique=True)),
('ix',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='ixlan_set',
to='peeringdb_server.InternetExchange')),
],
options={
'db_table': 'peeringdb_ixlan',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='IXLanPrefix',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('notes', models.CharField(blank=True, max_length=255)),
('protocol',
models.CharField(choices=[(b'IPv4', b'IPv4'), (b'IPv6',
b'IPv6')],
max_length=64)),
('prefix',
django_inet.models.IPPrefixField(max_length=43, unique=True)),
('ixlan',
models.ForeignKey(
default=0, on_delete=django.db.models.deletion.CASCADE,
related_name='ixpfx_set', to='peeringdb_server.IXLan')),
],
options={
'abstract': False,
'db_table': 'peeringdb_ixlan_prefix',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='Network',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('asn', django_inet.models.ASNField(unique=True)),
('name', models.CharField(max_length=255, unique=True)),
('aka', models.CharField(blank=True, max_length=255)),
('irr_as_set', models.CharField(blank=True, max_length=255)),
('website',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('looking_glass',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('route_server',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('notes', models.TextField(blank=True)),
('notes_private', models.TextField(blank=True)),
('info_traffic',
models.CharField(blank=True, choices=[
(b'', b'Not Disclosed'), (b'0-20 Mbps', b'0-20 Mbps'),
(b'20-100Mbps', b'20-100Mbps'), (b'100-1000Mbps',
b'100-1000Mbps'),
(b'1-5Gbps', b'1-5Gbps'), (b'5-10Gbps',
b'5-10Gbps'), (b'10-20Gbps',
b'10-20Gbps'),
(b'20-50 Gbps',
b'20-50 Gbps'), (b'50-100 Gbps',
b'50-100 Gbps'), (b'100+ Gbps',
b'100+ Gbps'),
(b'100-200 Gbps',
b'100-200 Gbps'), (b'200-300 Gbps',
b'200-300 Gbps'), (b'300-500 Gbps',
b'300-500 Gbps'),
(b'500-1000 Gbps',
b'500-1000 Gbps'), (b'1 Tbps+',
b'1 Tbps+'), (b'10 Tbps+',
b'10 Tbps+')
], max_length=39)),
('info_ratio',
models.CharField(blank=True, choices=[
(b'', b'Not Disclosed'), (b'Not Disclosed',
b'Not Disclosed'),
(b'Heavy Outbound',
b'Heavy Outbound'), (b'Mostly Outbound',
b'Mostly Outbound'), (b'Balanced',
b'Balanced'),
(b'Mostly Inbound', b'Mostly Inbound'), (b'Heavy Inbound',
b'Heavy Inbound')
], default=b'Not Disclosed', max_length=45)),
('info_scope',
models.CharField(blank=True, choices=[
(b'', b'Not Disclosed'), (b'Not Disclosed',
b'Not Disclosed'),
(b'Regional',
b'Regional'), (b'North America',
b'North America'), (b'Asia Pacific',
b'Asia Pacific'),
(b'Europe', b'Europe'), (b'South America',
b'South America'), (b'Africa',
b'Africa'),
(b'Australia',
b'Australia'), (b'Middle East',
b'Middle East'), (b'Global', b'Global')
], default=b'Not Disclosed', max_length=39)),
('info_type',
models.CharField(blank=True, choices=[
(b'', b'Not Disclosed'), (b'Not Disclosed',
b'Not Disclosed'),
(b'NSP', b'NSP'), (b'Content',
b'Content'), (b'Cable/DSL/ISP',
b'Cable/DSL/ISP'),
(b'Enterprise', b'Enterprise'), (b'Educational/Research',
b'Educational/Research'),
(b'Non-Profit', b'Non-Profit'), (b'Route Server',
b'Route Server')
], default=b'Not Disclosed', max_length=60)),
('info_prefixes4',
models.PositiveIntegerField(blank=True, null=True)),
('info_prefixes6',
models.PositiveIntegerField(blank=True, null=True)),
('info_unicast', models.BooleanField(default=False)),
('info_multicast', models.BooleanField(default=False)),
('info_ipv6', models.BooleanField(default=False)),
('policy_url',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('policy_general',
models.CharField(blank=True,
choices=[(b'Open', b'Open'), (b'Selective',
b'Selective'),
(b'Restrictive', b'Restrictive'),
(b'No', b'No')], max_length=72)),
('policy_locations',
models.CharField(
blank=True,
choices=[(b'Not Required',
b'Not Required'), (b'Preferred', b'Preferred'),
(b'Required - US',
b'Required - US'), (b'Required - EU',
b'Required - EU'),
(b'Required - International',
b'Required - International')], max_length=72)),
('policy_ratio', models.BooleanField(default=False)),
('policy_contracts',
models.CharField(blank=True,
choices=[(b'Not Required', b'Not Required'),
(b'Private Only', b'Private Only'),
(b'Required',
b'Required')], max_length=36)),
],
options={
'abstract': False,
'db_table': 'peeringdb_network',
'verbose_name_plural': 'Networks',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='NetworkContact',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('role',
models.CharField(
choices=[(b'Abuse', b'Abuse'), (b'Maintenance',
b'Maintenance'),
(b'Policy', b'Policy'), (b'Technical',
b'Technical'),
(b'NOC', b'NOC'), (b'Public Relations',
b'Public Relations'),
(b'Sales', b'Sales')], max_length=27)),
('visible',
models.CharField(choices=[(b'Private', b'Private'),
(b'Users', b'Users'), (b'Public',
b'Public')],
default=b'Public', max_length=64)),
('name', models.CharField(blank=True, max_length=254)),
('phone', models.CharField(blank=True, max_length=100)),
('email', models.EmailField(blank=True, max_length=254)),
('url',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('network',
models.ForeignKey(
default=0, on_delete=django.db.models.deletion.CASCADE,
related_name='poc_set', to='peeringdb_server.Network')),
],
options={
'db_table': 'peeringdb_network_contact',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='NetworkFacility',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('local_asn', django_inet.models.ASNField(
blank=True, null=True)),
('avail_sonet', models.BooleanField(default=False)),
('avail_ethernet', models.BooleanField(default=False)),
('avail_atm', models.BooleanField(default=False)),
('facility',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='netfac_set',
to='peeringdb_server.Facility')),
('network',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='netfac_set',
to='peeringdb_server.Network')),
],
options={
'db_table': 'peeringdb_network_facility',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='NetworkIXLan',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('asn', django_inet.models.ASNField()),
('ipaddr4',
django_inet.models.IPAddressField(blank=True, max_length=39,
null=True)),
('ipaddr6',
django_inet.models.IPAddressField(blank=True, max_length=39,
null=True)),
('is_rs_peer', models.BooleanField(default=False)),
('notes', models.CharField(blank=True, max_length=255)),
('speed', models.PositiveIntegerField()),
('ixlan',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='netixlan_set',
to='peeringdb_server.IXLan')),
('network',
models.ForeignKey(default=0,
on_delete=django.db.models.deletion.CASCADE,
related_name='netixlan_set',
to='peeringdb_server.Network')),
],
options={
'db_table': 'peeringdb_network_ixlan',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='Organization',
fields=[
('id', models.AutoField(primary_key=True, serialize=False)),
('status',
models.CharField(blank=True, max_length=255,
verbose_name='Status')),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('updated',
django_handleref.models.UpdatedDateTimeField(
auto_now=True, verbose_name='Updated')),
('version', models.IntegerField(default=0)),
('address1', models.CharField(blank=True, max_length=255)),
('address2', models.CharField(blank=True, max_length=255)),
('city', models.CharField(blank=True, max_length=255)),
('state', models.CharField(blank=True, max_length=255)),
('zipcode', models.CharField(blank=True, max_length=48)),
('country',
django_countries.fields.CountryField(blank=True,
max_length=2)),
('name', models.CharField(max_length=255, unique=True)),
('website',
django_peeringdb.models.abstract.URLField(
blank=True, max_length=255)),
('notes', models.TextField(blank=True)),
('logo',
models.FileField(
blank=True, help_text=
b'Allows you to upload and set a logo image file for this organization',
null=True, upload_to=b'logos/')),
],
options={
'abstract': False,
'db_table': 'peeringdb_organization',
'verbose_name_plural': 'Organizations',
},
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='OrganizationMerge',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('created',
models.DateTimeField(auto_now_add=True,
verbose_name='Merged on')),
('from_org',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='merged_to',
to='peeringdb_server.Organization')),
('to_org',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='merged_from',
to='peeringdb_server.Organization')),
],
options={
'db_table': 'peeringdb_organization_merge',
'verbose_name': 'Organization Merge',
'verbose_name_plural': 'Organization Merges',
},
),
migrations.CreateModel(
name='OrganizationMergeEntity',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('object_id', models.PositiveIntegerField()),
('note', models.CharField(blank=True, max_length=32,
null=True)),
('content_type',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
to='contenttypes.ContentType')),
('merge',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='entities',
to='peeringdb_server.OrganizationMerge')),
],
options={
'db_table': 'peeringdb_organization_merge_entity',
'verbose_name': 'Organization Merge: Entity',
'verbose_name_plural': 'Organization Merge: Entities',
},
),
migrations.CreateModel(
name='Sponsorship',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('start_date',
models.DateTimeField(
default=peeringdb_server.models.default_time_s,
verbose_name='Sponsorship starts on')),
('end_date',
models.DateTimeField(
default=peeringdb_server.models.default_time_e,
verbose_name='Sponsorship ends on')),
('notify_date',
models.DateTimeField(
blank=True, null=True,
verbose_name='Expiration notification sent on')),
('level',
models.PositiveIntegerField(
choices=[(1, 'Silver'), (2, 'Gold'), (3, 'Platinum'),
(4, 'Diamond')], default=1)),
('url',
models.URLField(
blank=True,
help_text=
'If specified clicking the sponsorship will take the user to this location',
null=True, verbose_name='URL')),
('logo',
models.FileField(
blank=True, help_text=
b'Allows you to upload and set a logo image file for this sponsorship',
null=True, upload_to=b'logos/')),
('org',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
related_name='sponsorships',
to='peeringdb_server.Organization')),
],
options={
'db_table': 'peeringdb_sponsorship',
'verbose_name': 'Sponsorship',
'verbose_name_plural': 'Sponsorships',
},
),
migrations.CreateModel(
name='UserOrgAffiliationRequest',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('org_name',
models.CharField(
blank=True,
help_text=b'The organization name entered by the user',
max_length=255, null=True)),
('asn',
django_inet.models.ASNField(
blank=True, help_text=b'The ASN entered by the user',
null=True)),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('status',
models.CharField(
choices=[(b'pending', b'Pending'), (b'approved',
b'Approved'),
(b'denied', b'Denied')],
help_text=b'Status of this request', max_length=254)),
('org',
models.ForeignKey(
blank=True, help_text=
b'This organization in our database that was derived from the provided ASN or organization name. If this is empty it means no matching organization was found.',
null=True, on_delete=django.db.models.deletion.CASCADE,
related_name='affiliation_requests',
to='peeringdb_server.Organization')),
],
options={
'db_table': 'peeringdb_user_org_affil_request',
},
),
migrations.CreateModel(
name='VerificationQueueItem',
fields=[
('id',
models.AutoField(auto_created=True, primary_key=True,
serialize=False, verbose_name='ID')),
('object_id', models.PositiveIntegerField()),
('created',
django_handleref.models.CreatedDateTimeField(
auto_now_add=True, verbose_name='Created')),
('notified', models.BooleanField(default=False)),
('content_type',
models.ForeignKey(on_delete=django.db.models.deletion.CASCADE,
to='contenttypes.ContentType')),
],
options={
'db_table': 'peeringdb_verification_queue',
},
),
migrations.CreateModel(
name='UserPasswordReset',
fields=[
('user',
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
primary_key=True, related_name='password_reset',
serialize=False, to=settings.AUTH_USER_MODEL)),
('token', models.CharField(max_length=255)),
('created', models.DateTimeField(auto_now_add=True)),
],
options={
'db_table': 'peeringdb_user_password_reset',
},
),
migrations.AddField(
model_name='verificationqueueitem',
name='user',
field=models.ForeignKey(
blank=True, help_text=
b'The item that this queue is attached to was created by this user',
null=True, on_delete=django.db.models.deletion.CASCADE,
related_name='vqitems', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='userorgaffiliationrequest',
name='user',
field=models.ForeignKey(
help_text=b'The user that made the request',
on_delete=django.db.models.deletion.CASCADE,
related_name='affiliation_requests',
to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='network',
name='org',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='net_set', to='peeringdb_server.Organization'),
),
migrations.AddField(
model_name='internetexchange',
name='org',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='ix_set', to='peeringdb_server.Organization'),
),
migrations.AddField(
model_name='facility',
name='org',
field=models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name='fac_set', to='peeringdb_server.Organization'),
),
migrations.AddField(
model_name='user',
name='groups',
field=models.ManyToManyField(
blank=True, help_text=
'The groups this user belongs to. A user will get all permissions granted to each of their groups.',
related_name='user_set', related_query_name='user',
to='auth.Group', verbose_name='groups'),
),
migrations.AddField(
model_name='user',
name='user_permissions',
field=models.ManyToManyField(
blank=True, help_text='Specific permissions for this user.',
related_name='user_set', related_query_name='user',
to='auth.Permission', verbose_name='user permissions'),
),
migrations.CreateModel(
name='DuplicateIPNetworkIXLan',
fields=[],
options={
'verbose_name': 'Duplicate IP',
'proxy': True,
'verbose_name_plural': 'Duplicate IPs',
'indexes': [],
},
bases=('peeringdb_server.networkixlan', ),
managers=[
('handleref', django.db.models.manager.Manager()),
],
),
migrations.CreateModel(
name='UserPermission',
fields=[],
options={
'verbose_name': 'User Permission',
'proxy': True,
'verbose_name_plural': 'User Permissions',
'indexes': [],
},
bases=('peeringdb_server.user', ),
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.AlterUniqueTogether(
name='networkfacility',
unique_together=set([('network', 'facility', 'local_asn')]),
),
migrations.AlterUniqueTogether(
name='internetexchangefacility',
unique_together=set([('ix', 'facility')]),
),
]