fc / apps /express_query /migrations /0001_initial.py
jun2024's picture
Upload 2241 files
b4f2238 verified
Raw History Blame Contribute Delete
4.35 kB
# Generated by Django 6.0.3 on 2026-04-04 09:22
import apps.express_query.models
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name="ExpressQueryTask",
fields=[
("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
("title", models.CharField(blank=True, default="", max_length=255, verbose_name="任务名称")),
(
"waybill_image",
models.FileField(upload_to=apps.express_query.models._waybill_upload_to, verbose_name="邮单页面"),
),
(
"status",
models.CharField(
choices=[
("pending", "待处理"),
("ocr_parsing", "OCR识别中"),
("waiting_login", "等待登录"),
("querying", "查询中"),
("success", "成功"),
("failed", "失败"),
],
default="pending",
max_length=32,
verbose_name="任务状态",
),
),
(
"carrier_type",
models.CharField(
choices=[("unknown", "未知"), ("ems", "EMS"), ("sf", "顺丰")],
default="unknown",
max_length=16,
verbose_name="承运商",
),
),
("tracking_number", models.CharField(blank=True, default="", max_length=64, verbose_name="运单号")),
("ocr_text", models.TextField(blank=True, default="", verbose_name="OCR文本")),
("query_url", models.URLField(blank=True, default="", verbose_name="查询页面URL")),
(
"result_pdf",
models.FileField(
blank=True,
null=True,
upload_to=apps.express_query.models._result_pdf_upload_to,
verbose_name="查询结果PDF",
),
),
("result_payload", models.JSONField(blank=True, default=dict, verbose_name="执行结果")),
("queue_task_id", models.CharField(blank=True, default="", max_length=64, verbose_name="队列任务ID")),
("error_message", models.TextField(blank=True, default="", verbose_name="错误信息")),
("created_at", models.DateTimeField(auto_now_add=True, verbose_name="创建时间")),
("started_at", models.DateTimeField(blank=True, null=True, verbose_name="开始时间")),
("finished_at", models.DateTimeField(blank=True, null=True, verbose_name="完成时间")),
("updated_at", models.DateTimeField(auto_now=True, verbose_name="更新时间")),
(
"created_by",
models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.SET_NULL,
related_name="express_query_tasks",
to=settings.AUTH_USER_MODEL,
verbose_name="创建人",
),
),
],
options={
"verbose_name": "快递查询任务",
"verbose_name_plural": "快递查询任务",
"ordering": ["-created_at"],
"indexes": [
models.Index(fields=["status", "-created_at"], name="express_que_status_cf7fda_idx"),
models.Index(fields=["carrier_type", "-created_at"], name="express_que_carrier_3b108f_idx"),
models.Index(fields=["tracking_number"], name="express_que_trackin_0d71fc_idx"),
],
},
),
]