Files
icac/crawler/migrations/0003_mediafile.py
2025-09-23 13:30:03 +08:00

36 lines
1.9 KiB
Python

# Generated by Django 5.2.6 on 2025-09-23 01:05
import crawler.models
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('crawler', '0002_crawledcontent_is_local_saved_and_more'),
]
operations = [
migrations.CreateModel(
name='MediaFile',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('media_type', models.CharField(choices=[('image', '图片'), ('video', '视频'), ('audio', '音频'), ('document', '文档')], max_length=20, verbose_name='媒体类型')),
('original_url', models.URLField(verbose_name='原始URL')),
('local_file', models.FileField(upload_to=crawler.models.media_file_path, verbose_name='本地文件')),
('file_size', models.BigIntegerField(blank=True, null=True, verbose_name='文件大小(字节)')),
('mime_type', models.CharField(blank=True, max_length=100, verbose_name='MIME类型')),
('alt_text', models.CharField(blank=True, max_length=500, verbose_name='替代文本')),
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
('content', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='media_files', to='crawler.crawledcontent', verbose_name='所属内容')),
],
options={
'verbose_name': '媒体文件',
'verbose_name_plural': '媒体文件',
'ordering': ['-created_at'],
'indexes': [models.Index(fields=['content', 'media_type'], name='crawler_med_content_3a9468_idx'), models.Index(fields=['created_at'], name='crawler_med_created_13ff00_idx')],
},
),
]