# Generated by Django 5.2.6 on 2025-09-11 02:54 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name="Task", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("task_id", models.CharField(max_length=64, unique=True)), ("name", models.CharField(max_length=200)), ("description", models.TextField(blank=True, null=True)), ( "execution_type", models.CharField( choices=[("scheduled", "定期执行"), ("predefined", "预定时间执行")], max_length=20, ), ), ("execution_time", models.DateTimeField(blank=True, null=True)), ( "scheduled_time", models.CharField(blank=True, max_length=10, null=True), ), ("parse_flag", models.BooleanField(default=False)), ("limit", models.IntegerField(default=60)), ( "status", models.CharField( choices=[ ("running", "进行中"), ("idle", "空闲中"), ("done", "完成"), ("failed", "失败"), ], default="idle", max_length=20, ), ), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ], ), migrations.CreateModel( name="TaskDetail", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("author", models.CharField(blank=True, max_length=500)), ("date", models.CharField(blank=True, max_length=100, null=True)), ("download", models.IntegerField(blank=True, null=True)), ("keywords", models.TextField(blank=True)), ("original_link", models.URLField(blank=True)), ("pdf_url", models.URLField(blank=True)), ("quote", models.TextField(blank=True)), ("source", models.CharField(blank=True, max_length=200)), ("site", models.CharField(blank=True, max_length=200)), ("summary", models.TextField(blank=True)), ("parsed_summary", models.JSONField(blank=True, null=True)), ("title", models.CharField(blank=True, max_length=300)), ("created_at", models.DateTimeField(auto_now_add=True)), ( "task", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="details", to="api.task", ), ), ], ), ]