# Generated by Django 5.1.7 on 2025-04-02 08:57

import card.storage
import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("card", "0003_remove_card_quantity_card_batch_cardbatch_published_and_more"),
    ]

    operations = [
        migrations.CreateModel(
            name="ClothingAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("style", models.CharField(max_length=50, verbose_name="风格")),
                ("size", models.CharField(max_length=20, verbose_name="尺码")),
                ("color", models.CharField(max_length=50, verbose_name="颜色")),
                ("season", models.CharField(max_length=20, verbose_name="季节")),
                ("material", models.CharField(max_length=100, verbose_name="材质")),
                ("fit_type", models.CharField(max_length=50, verbose_name="版型")),
                (
                    "care_instructions",
                    models.TextField(blank=True, verbose_name="保养说明"),
                ),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="clothing_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "服装属性",
                "verbose_name_plural": "服装属性",
            },
        ),
        migrations.CreateModel(
            name="DanceAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("style", models.CharField(max_length=50, verbose_name="舞蹈风格")),
                (
                    "difficulty",
                    models.CharField(max_length=20, verbose_name="难度等级"),
                ),
                ("duration", models.DurationField(verbose_name="时长")),
                (
                    "choreographer",
                    models.CharField(max_length=100, verbose_name="编舞"),
                ),
                (
                    "required_space",
                    models.CharField(max_length=50, verbose_name="所需空间"),
                ),
                (
                    "calories_burn",
                    models.IntegerField(
                        blank=True, null=True, verbose_name="消耗卡路里"
                    ),
                ),
                (
                    "tutorial_video",
                    models.URLField(blank=True, verbose_name="教学视频链接"),
                ),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="dance_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "舞蹈属性",
                "verbose_name_plural": "舞蹈属性",
            },
        ),
        migrations.CreateModel(
            name="DecorationAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "decoration_type",
                    models.CharField(max_length=50, verbose_name="装饰类型"),
                ),
                ("style", models.CharField(max_length=50, verbose_name="风格")),
                ("material", models.CharField(max_length=100, verbose_name="材质")),
                ("size", models.CharField(max_length=50, verbose_name="尺寸")),
                ("placement", models.CharField(max_length=50, verbose_name="摆放位置")),
                (
                    "indoor_outdoor",
                    models.CharField(max_length=20, verbose_name="室内/室外"),
                ),
                (
                    "installation_required",
                    models.BooleanField(default=False, verbose_name="需要安装"),
                ),
                (
                    "care_instructions",
                    models.TextField(blank=True, verbose_name="保养说明"),
                ),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="decoration_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "装饰属性",
                "verbose_name_plural": "装饰属性",
            },
        ),
        migrations.CreateModel(
            name="FurnitureAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "furniture_type",
                    models.CharField(max_length=50, verbose_name="家具类型"),
                ),
                ("style", models.CharField(max_length=50, verbose_name="风格")),
                ("material", models.CharField(max_length=100, verbose_name="材质")),
                ("dimensions", models.CharField(max_length=100, verbose_name="尺寸")),
                (
                    "weight",
                    models.FloatField(blank=True, null=True, verbose_name="重量(kg)"),
                ),
                (
                    "assembly_required",
                    models.BooleanField(default=False, verbose_name="需要组装"),
                ),
                (
                    "max_weight_capacity",
                    models.FloatField(
                        blank=True, null=True, verbose_name="最大承重(kg)"
                    ),
                ),
                (
                    "care_instructions",
                    models.TextField(blank=True, verbose_name="保养说明"),
                ),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="furniture_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "家具属性",
                "verbose_name_plural": "家具属性",
            },
        ),
        migrations.CreateModel(
            name="PropAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("prop_type", models.CharField(max_length=50, verbose_name="道具类型")),
                ("material", models.CharField(max_length=100, verbose_name="材质")),
                ("size", models.CharField(max_length=50, verbose_name="尺寸")),
                (
                    "weight",
                    models.FloatField(blank=True, null=True, verbose_name="重量(g)"),
                ),
                ("durability", models.CharField(max_length=50, verbose_name="耐久度")),
                (
                    "usage_instructions",
                    models.TextField(blank=True, verbose_name="使用说明"),
                ),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="prop_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "道具属性",
                "verbose_name_plural": "道具属性",
            },
        ),
        migrations.CreateModel(
            name="SongAttributes",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("genre", models.CharField(max_length=50, verbose_name="曲风")),
                ("duration", models.DurationField(verbose_name="时长")),
                ("bpm", models.IntegerField(verbose_name="曲速(BPM)")),
                ("composer", models.CharField(max_length=100, verbose_name="作曲")),
                (
                    "lyricist",
                    models.CharField(blank=True, max_length=100, verbose_name="作词"),
                ),
                (
                    "arrangement",
                    models.CharField(blank=True, max_length=100, verbose_name="编曲"),
                ),
                (
                    "audio_file",
                    models.FileField(
                        storage=card.storage.OSSStorage(base_dir="cards"),
                        upload_to="songs/",
                        verbose_name="音频文件",
                    ),
                ),
                ("lyrics", models.TextField(blank=True, verbose_name="歌词")),
                (
                    "template",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="song_attrs",
                        to="card.cardtemplate",
                        verbose_name="卡片模板",
                    ),
                ),
            ],
            options={
                "verbose_name": "音乐属性",
                "verbose_name_plural": "音乐属性",
            },
        ),
    ]
