# Generated by Django 3.2 on 2021-06-06 19:34

import datetime
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Certificate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('score', models.DecimalField(blank=True, decimal_places=1, max_digits=5, null=True)),
                ('level', models.CharField(blank=True, max_length=16, null=True)),
                ('degree', models.IntegerField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='CertificateName',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=128)),
                ('field_name', models.CharField(choices=[('score', 'Score'), ('level', 'Level'), ('degree', 'Degree')], max_length=32)),
            ],
        ),
        migrations.CreateModel(
            name='CourseLength',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=64)),
            ],
        ),
        migrations.CreateModel(
            name='CourseTag',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64)),
            ],
        ),
        migrations.CreateModel(
            name='CourseType',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=128)),
            ],
        ),
        migrations.CreateModel(
            name='Location',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('lat', models.CharField(max_length=128)),
                ('lng', models.CharField(max_length=128)),
                ('accuracy', models.IntegerField()),
            ],
        ),
        migrations.CreateModel(
            name='RatePlan',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=64)),
            ],
        ),
        migrations.CreateModel(
            name='TimeTable',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('start_time', models.TimeField()),
                ('end_time', models.TimeField()),
            ],
        ),
        migrations.CreateModel(
            name='TypeOfEducation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=64)),
            ],
        ),
        migrations.CreateModel(
            name='Weekday',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('day', models.CharField(choices=[('monday', 'Monday'), ('tuesday', 'Tuesday'), ('wednesday', 'Wednesday'), ('thursday', 'Thursday'), ('friday', 'Friday'), ('saturday', 'Saturday'), ('sunday', 'Sunday')], max_length=32)),
                ('time_tables', models.ManyToManyField(to='educations.TimeTable')),
            ],
        ),
        migrations.CreateModel(
            name='WeeklySchedule',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('days', models.ManyToManyField(to='educations.Weekday')),
            ],
        ),
        migrations.CreateModel(
            name='Teacher',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('first_name', models.CharField(max_length=64)),
                ('last_name', models.CharField(max_length=64)),
                ('gender', models.CharField(choices=[('male', 'Male'), ('female', 'Female')], max_length=16)),
                ('date_of_birth', models.DateField(blank=True, null=True)),
                ('certificates', models.ManyToManyField(blank=True, null=True, to='educations.Certificate')),
            ],
        ),
        migrations.CreateModel(
            name='Education',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=512)),
                ('description', models.CharField(max_length=2048)),
                ('location', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='educations.location')),
                ('teachers', models.ManyToManyField(blank=True, null=True, to='educations.Teacher')),
            ],
        ),
        migrations.CreateModel(
            name='Course',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('title', models.CharField(max_length=256)),
                ('slug', models.CharField(max_length=255, unique=True)),
                ('description', models.CharField(max_length=1024)),
                ('unlisted', models.BooleanField(blank=True, default=False)),
                ('start_date', models.DateField(blank=True, null=True)),
                ('price', models.CharField(max_length=128)),
                ('published_at', models.DateTimeField(default=datetime.datetime.now)),
                ('course_length', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='educations.courselength')),
                ('course_type', models.ManyToManyField(to='educations.CourseType')),
                ('education', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='educations.education')),
                ('rate_plan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='educations.rateplan')),
                ('tags', models.ManyToManyField(blank=True, null=True, to='educations.CourseTag')),
                ('type_of_education', models.ManyToManyField(to='educations.TypeOfEducation')),
            ],
        ),
        migrations.AddField(
            model_name='certificate',
            name='name',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='educations.certificatename'),
        ),
    ]
