36 lines
1.9 KiB
Python
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')],
|
|
},
|
|
),
|
|
]
|