1 # Generated by Django 3.1.7 on 2021-02-25 19:46
3 from django.conf import settings
4 from django.db import migrations, models
5 import django.db.models.deletion
8 class Migration(migrations.Migration):
13 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
17 migrations.CreateModel(
20 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
21 ('name', models.CharField(max_length=64)),
22 ('mountainproject', models.URLField(null=True)),
25 migrations.CreateModel(
26 name='BoulderDifficulty',
28 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
29 ('order', models.PositiveSmallIntegerField()),
30 ('name', models.CharField(max_length=8)),
33 migrations.CreateModel(
36 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
37 ('name', models.CharField(max_length=64)),
38 ('protection_style', models.CharField(choices=[('sport', 'Sport'), ('toprope', 'Top Rope'), ('trad', 'Trad')], max_length=8)),
39 ('mountainproject', models.URLField(null=True)),
42 migrations.CreateModel(
43 name='RouteDifficulty',
45 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
46 ('order', models.PositiveSmallIntegerField()),
47 ('name', models.CharField(max_length=8)),
50 migrations.CreateModel(
53 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
54 ('notes', models.TextField()),
55 ('protection', models.CharField(choices=[('none', 'None'), ('bolts', 'Bolts'), ('gear', 'Gear'), ('pad', 'Pad'), ('tr', 'Top Rope')], max_length=8)),
56 ('style', models.CharField(choices=[('onsight', 'On Sight'), ('flash', 'Flash'), ('project', 'Project'), ('other', 'Other')], max_length=8)),
57 ('boulder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='todos', to='tickle.boulder')),
58 ('route', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='todos', to='tickle.route')),
59 ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
62 migrations.CreateModel(
65 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
66 ('order', models.PositiveSmallIntegerField()),
67 ('difficulty', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='pitches', to='tickle.routedifficulty')),
68 ('route', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pitches', to='tickle.route')),
74 field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='boulders', to='tickle.boulderdifficulty'),
76 migrations.CreateModel(
79 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
80 ('date', models.DateField()),
81 ('notes', models.TextField()),
82 ('result', models.CharField(choices=[('send', 'Sent'), ('fall', 'Fall')], max_length=8)),
83 ('prior_knowledge', models.BooleanField(default=True)),
84 ('protection_used', models.CharField(choices=[('none', 'None'), ('bolts', 'Bolts'), ('gear', 'Gear'), ('pad', 'Pad'), ('tr', 'Top Rope')], max_length=8)),
85 ('boulder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='attempts', to='tickle.boulder')),
86 ('route', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='attempts', to='tickle.route')),
87 ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
90 migrations.AddConstraint(
92 constraint=models.CheckConstraint(check=models.Q(models.Q(('boulder__isnull', True), models.Q(_negated=True, route__isnull=True)), models.Q(models.Q(_negated=True, boulder__isnull=True), ('route__isnull', True)), _connector='OR'), name='todo_boulder_xor_route'),
94 migrations.AddConstraint(
96 constraint=models.CheckConstraint(check=models.Q(models.Q(('boulder__isnull', True), models.Q(_negated=True, route__isnull=True)), models.Q(models.Q(_negated=True, boulder__isnull=True), ('route__isnull', True)), _connector='OR'), name='attempt_boulder_xor_route'),