feat: 中文化 django-admin 字段标签 (T-603)
This commit is contained in:
+67
-59
@@ -12,43 +12,46 @@ def normalize_resolution(value: str | None) -> str:
|
||||
|
||||
class CallRecord(models.Model):
|
||||
class OperationType(models.TextChoices):
|
||||
TITLE = "title", "Generate title"
|
||||
IMAGE = "image", "Generate image"
|
||||
TITLE = "title", "生成标题"
|
||||
IMAGE = "image", "生成图片"
|
||||
|
||||
class Status(models.TextChoices):
|
||||
PENDING = "pending", "Pending"
|
||||
SUCCESS = "success", "Success"
|
||||
FAILED = "failed", "Failed"
|
||||
PENDING = "pending", "待处理"
|
||||
SUCCESS = "success", "成功"
|
||||
FAILED = "failed", "失败"
|
||||
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
verbose_name="用户",
|
||||
on_delete=models.PROTECT,
|
||||
related_name="call_records",
|
||||
)
|
||||
api_key = models.ForeignKey(
|
||||
ApiKey,
|
||||
verbose_name="API 密钥",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.SET_NULL,
|
||||
related_name="call_records",
|
||||
)
|
||||
operation_type = models.CharField(max_length=32, choices=OperationType.choices)
|
||||
alias = models.CharField(max_length=64, blank=True)
|
||||
model_used = models.CharField(max_length=128, blank=True)
|
||||
resolution = models.CharField(max_length=32, blank=True)
|
||||
prompt = models.TextField(blank=True)
|
||||
points_cost = models.BigIntegerField(default=0)
|
||||
operation_type = models.CharField("操作类型", max_length=32, choices=OperationType.choices)
|
||||
alias = models.CharField("能力别名", max_length=64, blank=True)
|
||||
model_used = models.CharField("实际模型", max_length=128, blank=True)
|
||||
resolution = models.CharField("分辨率", max_length=32, blank=True)
|
||||
prompt = models.TextField("提示词", blank=True)
|
||||
points_cost = models.BigIntegerField("扣费点数", default=0)
|
||||
status = models.CharField(
|
||||
"状态",
|
||||
max_length=20,
|
||||
choices=Status.choices,
|
||||
default=Status.PENDING,
|
||||
)
|
||||
upstream_latency_ms = models.PositiveIntegerField(null=True, blank=True)
|
||||
error_message = models.TextField(blank=True)
|
||||
result_ref = models.TextField(blank=True)
|
||||
result_summary = models.TextField(blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
upstream_latency_ms = models.PositiveIntegerField("上游耗时毫秒", null=True, blank=True)
|
||||
error_message = models.TextField("错误信息", blank=True)
|
||||
result_ref = models.TextField("结果引用", blank=True)
|
||||
result_summary = models.TextField("结果摘要", blank=True)
|
||||
created_at = models.DateTimeField("创建时间", auto_now_add=True)
|
||||
updated_at = models.DateTimeField("更新时间", auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "call_record"
|
||||
@@ -73,18 +76,19 @@ class CallRecord(models.Model):
|
||||
|
||||
|
||||
class PricingRule(models.Model):
|
||||
operation_type = models.CharField(max_length=32, choices=CallRecord.OperationType.choices)
|
||||
alias = models.CharField(max_length=64)
|
||||
operation_type = models.CharField("操作类型", max_length=32, choices=CallRecord.OperationType.choices)
|
||||
alias = models.CharField("能力别名", max_length=64)
|
||||
resolution = models.CharField(
|
||||
"分辨率",
|
||||
max_length=32,
|
||||
blank=True,
|
||||
default="",
|
||||
help_text="Leave blank to apply to every resolution for this alias.",
|
||||
help_text="留空表示该别名所有分辨率通用。",
|
||||
)
|
||||
points_cost = models.BigIntegerField()
|
||||
is_active = models.BooleanField(default=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
points_cost = models.BigIntegerField("点数单价")
|
||||
is_active = models.BooleanField("启用", default=True)
|
||||
created_at = models.DateTimeField("创建时间", auto_now_add=True)
|
||||
updated_at = models.DateTimeField("更新时间", auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "pricing_rule"
|
||||
@@ -123,13 +127,13 @@ class PricingRule(models.Model):
|
||||
|
||||
|
||||
class ExchangeRate(models.Model):
|
||||
currency = models.CharField(max_length=10, default="CNY")
|
||||
points_per_unit = models.DecimalField(max_digits=12, decimal_places=4)
|
||||
is_active = models.BooleanField(default=True)
|
||||
effective_from = models.DateTimeField()
|
||||
note = models.CharField(max_length=255, blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
currency = models.CharField("币种", max_length=10, default="CNY")
|
||||
points_per_unit = models.DecimalField("每单位金额点数", max_digits=12, decimal_places=4)
|
||||
is_active = models.BooleanField("启用", default=True)
|
||||
effective_from = models.DateTimeField("生效时间")
|
||||
note = models.CharField("备注", max_length=255, blank=True)
|
||||
created_at = models.DateTimeField("创建时间", auto_now_add=True)
|
||||
updated_at = models.DateTimeField("更新时间", auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "exchange_rate"
|
||||
@@ -162,37 +166,39 @@ class ExchangeRate(models.Model):
|
||||
|
||||
class RechargeOrder(models.Model):
|
||||
class PayMethod(models.TextChoices):
|
||||
WEIXIN = "weixin", "Weixin"
|
||||
ALIPAY = "alipay", "Alipay"
|
||||
WEIXIN = "weixin", "微信"
|
||||
ALIPAY = "alipay", "支付宝"
|
||||
|
||||
class Status(models.TextChoices):
|
||||
PENDING = "pending", "Pending"
|
||||
PAID = "paid", "Paid"
|
||||
FAILED = "failed", "Failed"
|
||||
EXPIRED = "expired", "Expired"
|
||||
PENDING = "pending", "待支付"
|
||||
PAID = "paid", "已支付"
|
||||
FAILED = "failed", "失败"
|
||||
EXPIRED = "expired", "已过期"
|
||||
|
||||
order_no = models.CharField(max_length=64, unique=True)
|
||||
order_no = models.CharField("订单号", max_length=64, unique=True)
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
verbose_name="用户",
|
||||
on_delete=models.PROTECT,
|
||||
related_name="recharge_orders",
|
||||
)
|
||||
amount_money = models.DecimalField(max_digits=12, decimal_places=2)
|
||||
currency = models.CharField(max_length=10, default="CNY")
|
||||
pay_method = models.CharField(max_length=20, choices=PayMethod.choices)
|
||||
exchange_rate = models.DecimalField(max_digits=12, decimal_places=4)
|
||||
points_granted = models.BigIntegerField()
|
||||
amount_money = models.DecimalField("金额", max_digits=12, decimal_places=2)
|
||||
currency = models.CharField("币种", max_length=10, default="CNY")
|
||||
pay_method = models.CharField("支付方式", max_length=20, choices=PayMethod.choices)
|
||||
exchange_rate = models.DecimalField("锁定汇率", max_digits=12, decimal_places=4)
|
||||
points_granted = models.BigIntegerField("到账点数")
|
||||
status = models.CharField(
|
||||
"状态",
|
||||
max_length=20,
|
||||
choices=Status.choices,
|
||||
default=Status.PENDING,
|
||||
)
|
||||
code_url = models.TextField(blank=True)
|
||||
expires_at = models.DateTimeField(null=True, blank=True)
|
||||
payment_txn_no = models.CharField(max_length=128, blank=True)
|
||||
paid_at = models.DateTimeField(null=True, blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
code_url = models.TextField("二维码票据", blank=True)
|
||||
expires_at = models.DateTimeField("过期时间", null=True, blank=True)
|
||||
payment_txn_no = models.CharField("支付交易号", max_length=128, blank=True)
|
||||
paid_at = models.DateTimeField("支付时间", null=True, blank=True)
|
||||
created_at = models.DateTimeField("创建时间", auto_now_add=True)
|
||||
updated_at = models.DateTimeField("更新时间", auto_now=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "recharge_order"
|
||||
@@ -238,29 +244,31 @@ class RechargeOrder(models.Model):
|
||||
|
||||
class PointsLedger(models.Model):
|
||||
class ChangeType(models.TextChoices):
|
||||
RECHARGE = "recharge", "Recharge"
|
||||
CONSUME = "consume", "Consume"
|
||||
ADJUST = "adjust", "Adjust"
|
||||
REFUND = "refund", "Refund"
|
||||
RECHARGE = "recharge", "充值"
|
||||
CONSUME = "consume", "消费"
|
||||
ADJUST = "adjust", "调整"
|
||||
REFUND = "refund", "退款"
|
||||
|
||||
user = models.ForeignKey(
|
||||
settings.AUTH_USER_MODEL,
|
||||
verbose_name="用户",
|
||||
on_delete=models.PROTECT,
|
||||
related_name="points_ledger_entries",
|
||||
)
|
||||
change_type = models.CharField(max_length=20, choices=ChangeType.choices)
|
||||
points_delta = models.BigIntegerField()
|
||||
balance_after = models.BigIntegerField()
|
||||
ref_order_id = models.PositiveBigIntegerField(null=True, blank=True)
|
||||
change_type = models.CharField("变动类型", max_length=20, choices=ChangeType.choices)
|
||||
points_delta = models.BigIntegerField("点数变动")
|
||||
balance_after = models.BigIntegerField("变动后余额")
|
||||
ref_order_id = models.PositiveBigIntegerField("关联订单 ID", null=True, blank=True)
|
||||
ref_call = models.ForeignKey(
|
||||
CallRecord,
|
||||
verbose_name="关联调用",
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.PROTECT,
|
||||
related_name="ledger_entries",
|
||||
)
|
||||
reason = models.TextField(blank=True)
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
reason = models.TextField("原因", blank=True)
|
||||
created_at = models.DateTimeField("创建时间", auto_now_add=True)
|
||||
|
||||
class Meta:
|
||||
db_table = "points_ledger"
|
||||
|
||||
Reference in New Issue
Block a user