# Generated by Django 2.2.5 on 2019-09-18 06:09

from django.db import migrations, models
import django.utils.timezone
import model_utils.fields


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Category",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                (
                    "logo",
                    models.ImageField(
                        blank=True,
                        upload_to="courses/categories/logos/",
                        verbose_name="logo",
                    ),
                ),
                ("name", models.CharField(max_length=20, verbose_name="name")),
                ("rank", models.IntegerField(default=0, verbose_name="rank")),
            ],
            options={
                "verbose_name": "category",
                "verbose_name_plural": "categories",
                "ordering": ["rank", "-created"],
            },
        ),
        migrations.CreateModel(
            name="Course",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("title", models.CharField(max_length=150, verbose_name="title")),
                ("slug", models.SlugField(unique=True, verbose_name="slug")),
                (
                    "description",
                    models.TextField(blank=True, verbose_name="description"),
                ),
                (
                    "brief",
                    models.CharField(blank=True, max_length=200, verbose_name="brief"),
                ),
                (
                    "cover",
                    models.ImageField(
                        upload_to="courses/covers/", verbose_name="cover"
                    ),
                ),
                (
                    "cover_caption",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="cover_caption"
                    ),
                ),
                (
                    "status",
                    models.IntegerField(
                        choices=[(0, "writing"), (1, "finished")],
                        default=0,
                        verbose_name="status",
                    ),
                ),
                (
                    "status_changed",
                    model_utils.fields.MonitorField(
                        default=django.utils.timezone.now,
                        monitor="status",
                        verbose_name="status_changed",
                    ),
                ),
                (
                    "level",
                    models.IntegerField(
                        choices=[(0, "入门"), (1, "进阶"), (2, "高级")],
                        default=0,
                        verbose_name="level",
                    ),
                ),
                (
                    "level_changed",
                    model_utils.fields.MonitorField(
                        default=django.utils.timezone.now,
                        monitor="level",
                        verbose_name="level_changed",
                    ),
                ),
                ("rank", models.IntegerField(default=0, verbose_name="rank")),
            ],
            options={
                "verbose_name": "course",
                "verbose_name_plural": "courses",
                "ordering": ("rank", "-created"),
            },
        ),
        migrations.CreateModel(
            name="Material",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "created",
                    model_utils.fields.AutoCreatedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="created",
                    ),
                ),
                (
                    "modified",
                    model_utils.fields.AutoLastModifiedField(
                        default=django.utils.timezone.now,
                        editable=False,
                        verbose_name="modified",
                    ),
                ),
                ("title", models.CharField(max_length=255, verbose_name="title")),
                ("body", models.TextField(verbose_name="body")),
                ("brief", models.TextField(blank=True, verbose_name="brief")),
                ("excerpt", models.TextField(blank=True, verbose_name="excerpt")),
                (
                    "views",
                    models.PositiveIntegerField(
                        default=0, editable=False, verbose_name="views"
                    ),
                ),
                (
                    "pub_date",
                    models.DateTimeField(
                        blank=True, null=True, verbose_name="publication datetime"
                    ),
                ),
                (
                    "show_on_index",
                    models.BooleanField(default=True, verbose_name="show on index"),
                ),
                (
                    "comment_enabled",
                    models.BooleanField(default=True, verbose_name="comment enabled"),
                ),
                (
                    "status",
                    models.IntegerField(
                        choices=[
                            (0, "writing"),
                            (1, "draft"),
                            (2, "published"),
                            (3, "hidden"),
                        ],
                        default=1,
                        verbose_name="status",
                    ),
                ),
                (
                    "status_changed",
                    model_utils.fields.MonitorField(
                        default=django.utils.timezone.now,
                        monitor="status",
                        verbose_name="status_changed",
                    ),
                ),
                (
                    "cover",
                    models.ImageField(
                        blank=True, upload_to="covers/materials/", verbose_name="cover"
                    ),
                ),
                (
                    "cover_caption",
                    models.CharField(
                        blank=True, max_length=100, verbose_name="cover_caption"
                    ),
                ),
                ("rank", models.IntegerField(default=0, verbose_name="rank")),
            ],
            options={
                "verbose_name": "material",
                "verbose_name_plural": "materials",
                "ordering": ["rank", "created"],
            },
        ),
    ]
