feat(models): add Chinese verbose_name to all 74 models (Phase 4.0)

为所有 Django 模型添加 Meta.verbose_name 和 verbose_name_plural(中文表名),
覆盖 10 个 app 的全部 74 个业务模型。

Phase 4.0 范围:
- 仅 Meta 类级别中文名(用于 Django Admin、drf-spectacular OpenAPI title、错误信息)
- 字段级 verbose_name= 和 help_text= 留待 Phase 4.1(待 PM 补全 DATA_MODEL 后同步)

变更:
- 20 个 models 文件改动(每个模型 +2 行)
- 8 个 0002/0003 迁移文件(Meta options 变更)
- apps/tenant/migrations/0001_initial.py(之前漏生成的 tenant 模型迁移)

manage.py check: 0 issues。
This commit is contained in:
2026-04-29 19:10:38 +08:00
parent 94d160223d
commit 79c3cf2924
29 changed files with 594 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
# Generated by Django 4.2.16 on 2026-04-29 11:07
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('account', '0002_initial'),
]
operations = [
migrations.AlterModelOptions(
name='loginattempt',
options={'verbose_name': '登录尝试记录', 'verbose_name_plural': '登录尝试记录'},
),
migrations.AlterModelOptions(
name='passwordhistory',
options={'ordering': ['-created_at'], 'verbose_name': '历史密码', 'verbose_name_plural': '历史密码'},
),
migrations.AlterModelOptions(
name='passwordresettoken',
options={'verbose_name': '密码重置令牌', 'verbose_name_plural': '密码重置令牌'},
),
migrations.AlterModelOptions(
name='useraccount',
options={'verbose_name': '用户账号', 'verbose_name_plural': '用户账号'},
),
]

View File

@@ -57,6 +57,8 @@ class UserAccount(AbstractBaseUser):
class Meta:
db_table = "user_accounts"
verbose_name = "用户账号"
verbose_name_plural = "用户账号"
constraints = [
models.UniqueConstraint(fields=["username"], name="uq_user_accounts_username"),
models.UniqueConstraint(
@@ -102,6 +104,8 @@ class LoginAttempt(models.Model):
class Meta:
db_table = "login_attempts"
verbose_name = "登录尝试记录"
verbose_name_plural = "登录尝试记录"
indexes = [
models.Index(fields=["username"], name="idx_login_attempts_username"),
models.Index(fields=["ip_address"], name="idx_login_attempts_ip"),
@@ -126,6 +130,8 @@ class PasswordResetToken(models.Model):
class Meta:
db_table = "password_reset_tokens"
verbose_name = "密码重置令牌"
verbose_name_plural = "密码重置令牌"
indexes = [
models.Index(fields=["user"], name="idx_pw_reset_tokens_user"),
]
@@ -145,6 +151,8 @@ class PasswordHistory(models.Model):
class Meta:
db_table = "password_histories"
verbose_name = "历史密码"
verbose_name_plural = "历史密码"
ordering = ["-created_at"]
indexes = [
models.Index(fields=["user", "-created_at"], name="idx_pw_histories_user"),