232 lines
11 KiB
Python
232 lines
11 KiB
Python
# Generated by Django 5.0.6 on 2024-11-05 12:49
|
|
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Angler',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('redact', models.BooleanField()),
|
|
],
|
|
options={
|
|
'verbose_name': 'angler',
|
|
'verbose_name_plural': 'anglers',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='LeagueRule',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('ranking_system', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('points_allocation', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('points_awarded', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('place_secondly_by_weight', models.BooleanField()),
|
|
('team_places_secondly_by_section', models.BooleanField()),
|
|
('section_placed_positions', models.IntegerField()),
|
|
('worst_place_limits', models.BooleanField()),
|
|
('attendance_points', models.IntegerField()),
|
|
('did_not_weigh', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('did_not_weigh_value', models.IntegerField()),
|
|
('left_early', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('left_early_value', models.IntegerField()),
|
|
('did_not_book', models.IntegerField()),
|
|
('disqualification', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('disqualification_value', models.IntegerField()),
|
|
('best_league_sessions', models.IntegerField()),
|
|
('worst_league_sessions', models.IntegerField()),
|
|
('match_placed_positions', models.IntegerField()),
|
|
],
|
|
options={
|
|
'verbose_name': 'league rule',
|
|
'verbose_name_plural': 'league rules',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Match',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('description', models.CharField(max_length=384)),
|
|
('meeting_point', models.CharField(max_length=1024)),
|
|
('use_metric', models.BooleanField()),
|
|
('allow_in_tournaments', models.BooleanField()),
|
|
('start_datetime', models.DateTimeField()),
|
|
('end_datetime', models.DateTimeField()),
|
|
('draw_datetime', models.DateTimeField()),
|
|
('type', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('competitor_type', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
],
|
|
options={
|
|
'verbose_name': 'match',
|
|
'verbose_name_plural': 'matches',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Sponsor',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('url', models.URLField()),
|
|
('image', models.ImageField(upload_to='')),
|
|
],
|
|
options={
|
|
'verbose_name': 'sponsor',
|
|
'verbose_name_plural': 'sponsors',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Venue',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('description', models.CharField(max_length=384)),
|
|
('extra_notes', models.CharField(max_length=1028)),
|
|
('created_at', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
|
('updated_at', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
|
|
('profile_picture', models.ImageField(upload_to='')),
|
|
('banner_picture', models.ImageField(upload_to='')),
|
|
('type', models.PositiveSmallIntegerField(choices=[(0, 'Fishery'), (1, 'Club'), (2, 'Private')])),
|
|
],
|
|
options={
|
|
'verbose_name': 'venue',
|
|
'verbose_name_plural': 'venues',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='VenueAddress',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('street_number', models.IntegerField()),
|
|
('street_address', models.CharField(max_length=256)),
|
|
('town', models.CharField(max_length=256)),
|
|
('county', models.CharField(max_length=256)),
|
|
('post_code', models.CharField(max_length=32)),
|
|
('satnav_post_code', models.CharField(max_length=32)),
|
|
('country', models.CharField(max_length=128)),
|
|
('latitude', models.DecimalField(decimal_places=16, max_digits=22)),
|
|
('longitude', models.DecimalField(decimal_places=16, max_digits=22)),
|
|
],
|
|
options={
|
|
'verbose_name': 'venue address',
|
|
'verbose_name_plural': 'venue addresses',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='VenueContacts',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('phone_number', models.CharField(max_length=64)),
|
|
('email_address', models.EmailField(max_length=254)),
|
|
('website_url', models.URLField()),
|
|
('facebook_url', models.URLField()),
|
|
('twitter_url', models.URLField()),
|
|
('instagram_url', models.URLField()),
|
|
],
|
|
options={
|
|
'verbose_name': 'venue contacts',
|
|
'verbose_name_plural': 'venue contacts',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Waters',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('pegs_from', models.IntegerField()),
|
|
('pegs_to', models.IntegerField()),
|
|
('map', models.ImageField(upload_to='')),
|
|
('type', models.PositiveSmallIntegerField(choices=[(0, 'Commercial Water'), (1, 'Natural Still Water'), (2, 'Canal'), (3, 'River'), (4, 'Loch')])),
|
|
('fish_types', models.PositiveSmallIntegerField(choices=[(0, 'Coarse'), (1, 'Specimen Carp'), (2, 'Game'), (3, 'Predator')])),
|
|
],
|
|
options={
|
|
'verbose_name': 'waters',
|
|
'verbose_name_plural': 'waters',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='AnglerGroup',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('type', models.PositiveSmallIntegerField(choices=[(0, 'choice 1'), (1, 'choice 2'), (2, 'choice 3')])),
|
|
('anglers', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.angler')),
|
|
],
|
|
options={
|
|
'verbose_name': 'angler group',
|
|
'verbose_name_plural': 'angler groups',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='League',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=128)),
|
|
('description', models.CharField(max_length=384)),
|
|
('extra_notes', models.CharField(max_length=1028)),
|
|
('profile_picture', models.ImageField(upload_to='')),
|
|
('banner_picture', models.ImageField(upload_to='')),
|
|
('anglers', models.ManyToManyField(to='apps_home.angler')),
|
|
('rules', models.ManyToManyField(to='apps_home.leaguerule')),
|
|
('matches', models.ManyToManyField(to='apps_home.match')),
|
|
],
|
|
options={
|
|
'verbose_name': 'league',
|
|
'verbose_name_plural': 'leagues',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='LeagueResult',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('total_weight', models.CharField(max_length=64)),
|
|
('matches', models.IntegerField()),
|
|
('date', models.DateField(default=django.utils.timezone.now)),
|
|
('angler', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.angler')),
|
|
('league', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.league')),
|
|
('sponsor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='apps_home.sponsor')),
|
|
],
|
|
options={
|
|
'verbose_name': 'league result',
|
|
'verbose_name_plural': 'league results',
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='match',
|
|
name='venue',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.venue'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='venue',
|
|
name='address',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.venueaddress'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='venue',
|
|
name='contacts',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.venuecontacts'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='venue',
|
|
name='waters',
|
|
field=models.ManyToManyField(to='apps_home.waters'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='match',
|
|
name='waters',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='apps_home.waters'),
|
|
),
|
|
]
|