# -*- 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")]), ), ]