96 lines
3.7 KiB
Python
96 lines
3.7 KiB
Python
|
# 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",
|
||
|
),
|
||
|
),
|
||
|
],
|
||
|
),
|
||
|
]
|