# Generated by Django 5.2.12 on 2026-08-01 16:31 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('learn', '0004_add_chapter_read'), ] operations = [ migrations.CreateModel( name='CourseMaterial', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200, verbose_name='资料名称')), ('file', models.FileField(upload_to='learn/materials/%Y/%m/', verbose_name='文件')), ('file_type', models.CharField(choices=[('pdf', 'PDF'), ('code', '代码'), ('doc', '文档'), ('zip', '压缩包'), ('other', '其他')], default='other', max_length=20, verbose_name='文件类型')), ('file_size', models.PositiveIntegerField(default=0, verbose_name='文件大小(字节)')), ('download_count', models.PositiveIntegerField(default=0, verbose_name='下载次数')), ('sort_order', models.IntegerField(default=0, verbose_name='排序')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), ('chapter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='materials', to='learn.chapter', verbose_name='章节')), ], options={ 'verbose_name': '课程资料', 'verbose_name_plural': '课程资料', 'ordering': ['sort_order'], }, ), ]