feat(region): add Chinese verbose_name/help_text to region models (Phase 4.1 part 8/9)

This commit is contained in:
2026-04-30 09:31:36 +08:00
parent 289ec43265
commit e3b26cee05

View File

@@ -5,11 +5,33 @@ from core.models.base import TimeStampedModel
class District(TimeStampedModel): class District(TimeStampedModel):
city = models.CharField(max_length=50) city = models.CharField(
name = models.CharField(max_length=50) max_length=50,
short_name = models.CharField(max_length=20, blank=True, default="") verbose_name="所属城市",
sort_order = models.IntegerField(default=0) help_text="支持多城市扩展,如「上海」「北京」",
is_active = models.BooleanField(default=True) )
name = models.CharField(
max_length=50,
verbose_name="行政区名称",
help_text="如「静安区」",
)
short_name = models.CharField(
max_length=20,
blank=True,
default="",
verbose_name="简称",
help_text="如「静安」",
)
sort_order = models.IntegerField(
default=0,
verbose_name="排序",
help_text="列表展示排序",
)
is_active = models.BooleanField(
default=True,
verbose_name="是否启用",
help_text="False=已停用,不在筛选项中展示",
)
class Meta: class Meta:
db_table = "districts" db_table = "districts"
@@ -33,12 +55,35 @@ class BusinessArea(TimeStampedModel):
"region.District", "region.District",
on_delete=models.PROTECT, on_delete=models.PROTECT,
related_name="business_areas", related_name="business_areas",
verbose_name="所属城区",
)
name = models.CharField(
max_length=100,
verbose_name="商圈名称",
)
sort_order = models.IntegerField(
default=0,
verbose_name="排序",
)
latitude = models.DecimalField(
max_digits=10,
decimal_places=7,
null=True,
blank=True,
verbose_name="商圈中心纬度",
)
longitude = models.DecimalField(
max_digits=10,
decimal_places=7,
null=True,
blank=True,
verbose_name="商圈中心经度",
)
is_active = models.BooleanField(
default=True,
verbose_name="是否启用",
help_text="False=已停用,不在筛选项中展示",
) )
name = models.CharField(max_length=100)
sort_order = models.IntegerField(default=0)
latitude = models.DecimalField(max_digits=10, decimal_places=7, null=True, blank=True)
longitude = models.DecimalField(max_digits=10, decimal_places=7, null=True, blank=True)
is_active = models.BooleanField(default=True)
class Meta: class Meta:
db_table = "business_areas" db_table = "business_areas"
@@ -64,11 +109,31 @@ class BusinessArea(TimeStampedModel):
class MetroLine(TimeStampedModel): class MetroLine(TimeStampedModel):
city = models.CharField(max_length=50) city = models.CharField(
name = models.CharField(max_length=50) max_length=50,
color = models.CharField(max_length=7, blank=True, default="") verbose_name="所属城市",
sort_order = models.IntegerField(default=0) )
is_active = models.BooleanField(default=True) name = models.CharField(
max_length=50,
verbose_name="线路名称",
help_text="如「1号线」",
)
color = models.CharField(
max_length=7,
blank=True,
default="",
verbose_name="线路颜色",
help_text="HEX 色值,如 #E3002B",
)
sort_order = models.IntegerField(
default=0,
verbose_name="排序",
)
is_active = models.BooleanField(
default=True,
verbose_name="是否启用",
help_text="False=已停用,不在筛选项中展示",
)
class Meta: class Meta:
db_table = "metro_lines" db_table = "metro_lines"
@@ -85,12 +150,35 @@ class MetroStation(TimeStampedModel):
"region.MetroLine", "region.MetroLine",
on_delete=models.CASCADE, on_delete=models.CASCADE,
related_name="stations", related_name="stations",
verbose_name="所属线路",
)
name = models.CharField(
max_length=50,
verbose_name="站名",
)
latitude = models.DecimalField(
max_digits=10,
decimal_places=7,
null=True,
blank=True,
verbose_name="站点纬度",
)
longitude = models.DecimalField(
max_digits=10,
decimal_places=7,
null=True,
blank=True,
verbose_name="站点经度",
)
sort_order = models.IntegerField(
default=0,
verbose_name="沿线排序",
)
is_active = models.BooleanField(
default=True,
verbose_name="是否启用",
help_text="False=已停用,不在筛选项中展示",
) )
name = models.CharField(max_length=50)
latitude = models.DecimalField(max_digits=10, decimal_places=7, null=True, blank=True)
longitude = models.DecimalField(max_digits=10, decimal_places=7, null=True, blank=True)
sort_order = models.IntegerField(default=0)
is_active = models.BooleanField(default=True)
class Meta: class Meta:
db_table = "metro_stations" db_table = "metro_stations"
@@ -116,27 +204,41 @@ class School(TimeStampedModel):
blank=True, blank=True,
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
related_name="schools", related_name="schools",
verbose_name="所属城区",
)
name = models.CharField(
max_length=100,
verbose_name="学校名称",
) )
name = models.CharField(max_length=100)
type = models.CharField( type = models.CharField(
max_length=20, max_length=20,
blank=True, blank=True,
default="", default="",
choices=SchoolType.choices, choices=SchoolType.choices,
verbose_name="学校类型",
help_text="primary=小学 / middle=初中 / high=高中 / k9=九年一贯制 / k12=十二年一贯制",
) )
nature = models.CharField( nature = models.CharField(
max_length=20, max_length=20,
blank=True, blank=True,
default="", default="",
choices=SchoolNature.choices, choices=SchoolNature.choices,
verbose_name="学校性质",
help_text="public=公立 / private=私立 / international=国际学校",
) )
level = models.CharField( level = models.CharField(
max_length=20, max_length=20,
blank=True, blank=True,
default="", default="",
choices=SchoolLevel.choices, choices=SchoolLevel.choices,
verbose_name="学校等级",
help_text="normal=普通 / key=重点 / top=名校",
)
is_active = models.BooleanField(
default=True,
verbose_name="是否启用",
help_text="False=已停用,不在筛选项中展示",
) )
is_active = models.BooleanField(default=True)
class Meta: class Meta:
db_table = "schools" db_table = "schools"