lty/qy_lty/card/migrations/0001_initial.py
2026-03-17 13:17:02 +08:00

243 lines
8.8 KiB
Python

# Generated by Django 5.1.7 on 2025-04-01 09:47
import card.storage
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="Card",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"unique_id",
models.CharField(
max_length=100, unique=True, verbose_name="唯一标识"
),
),
("name", models.CharField(max_length=100, verbose_name="名称")),
("description", models.TextField(blank=True, verbose_name="描述")),
(
"image",
models.ImageField(
blank=True,
null=True,
storage=card.storage.OSSStorage(base_dir="cards"),
upload_to="images/",
verbose_name="Image",
),
),
(
"price",
models.DecimalField(
decimal_places=2, default=0, max_digits=10, verbose_name="价格"
),
),
(
"quantity",
models.PositiveIntegerField(default=1, verbose_name="Quantity"),
),
(
"status",
models.CharField(
choices=[
("active", "可用"),
("used", "已使用"),
("void", "已作废"),
("inactive", "未激活"),
],
default="inactive",
max_length=20,
verbose_name="状态",
),
),
(
"used_at",
models.DateTimeField(
blank=True, null=True, verbose_name="使用时间"
),
),
(
"manufactured",
models.BooleanField(default=False, verbose_name="已生产"),
),
(
"manufactured_at",
models.DateTimeField(
blank=True, null=True, verbose_name="生产时间"
),
),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
),
(
"updated_at",
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
),
],
options={
"verbose_name": "卡片",
"verbose_name_plural": "卡片",
"ordering": ["-created_at"],
},
),
migrations.CreateModel(
name="CardBatch",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"batch_number",
models.CharField(max_length=50, unique=True, verbose_name="批次号"),
),
("quantity", models.PositiveIntegerField(verbose_name="数量")),
("description", models.TextField(blank=True, verbose_name="描述")),
("exported", models.BooleanField(default=False, verbose_name="已导出")),
(
"exported_at",
models.DateTimeField(
blank=True, null=True, verbose_name="导出时间"
),
),
(
"excel_file",
models.FileField(
blank=True,
null=True,
upload_to="card_batches/",
verbose_name="Excel文件",
),
),
(
"sent_to_production",
models.BooleanField(default=False, verbose_name="已发送生产"),
),
(
"production_date",
models.DateTimeField(
blank=True, null=True, verbose_name="生产日期"
),
),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
),
(
"updated_at",
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
),
],
options={
"verbose_name": "卡片批次",
"verbose_name_plural": "卡片批次",
"ordering": ["-created_at"],
},
),
migrations.CreateModel(
name="CardCategory",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"name",
models.CharField(
choices=[
("clothing", "Clothing"),
("prop", "Prop"),
("song", "Song"),
("dance", "Dance"),
("furniture", "Furniture"),
("decoration", "Decoration"),
],
max_length=50,
unique=True,
verbose_name="类别名称",
),
),
("description", models.TextField(blank=True, verbose_name="描述")),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
),
(
"updated_at",
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
),
],
options={
"verbose_name": "卡片类别",
"verbose_name_plural": "卡片类别",
"ordering": ["-created_at"],
},
),
migrations.CreateModel(
name="CardUsageLog",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"action",
models.CharField(
choices=[("scan", "扫描"), ("use", "使用"), ("void", "作废")],
max_length=20,
verbose_name="操作",
),
),
("details", models.TextField(blank=True, verbose_name="详细信息")),
("old_status", models.CharField(max_length=20, verbose_name="原状态")),
("new_status", models.CharField(max_length=20, verbose_name="新状态")),
(
"ip_address",
models.GenericIPAddressField(
blank=True, null=True, verbose_name="IP地址"
),
),
(
"created_at",
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
),
],
options={
"verbose_name": "使用记录",
"verbose_name_plural": "使用记录",
"ordering": ["-created_at"],
},
),
]