38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
from django.db import models
|
|
from utils.model import BaseModel
|
|
|
|
|
|
# Create your models here.
|
|
class Area(BaseModel):
|
|
name = models.CharField(max_length=100, verbose_name="名称")
|
|
short_name = models.CharField(max_length=100, verbose_name="简称")
|
|
merger_name = models.CharField(max_length=100, verbose_name="组合名称")
|
|
pinyin = models.CharField(max_length=100, verbose_name="拼音")
|
|
latitude = models.FloatField(verbose_name="纬度")
|
|
longitude = models.FloatField(verbose_name="经度")
|
|
code = models.CharField(max_length=100, unique=True, verbose_name="行政代码")
|
|
zip_code = models.CharField(max_length=100, verbose_name="邮政编码")
|
|
city_code = models.CharField(max_length=100, verbose_name="区号")
|
|
LEVEL_CHOICES = [
|
|
(0, "省级"),
|
|
(1, "市级"),
|
|
(2, "县级"),
|
|
(3, "乡级"),
|
|
(4, "村级"),
|
|
]
|
|
level = models.IntegerField(choices=LEVEL_CHOICES, verbose_name="层级")
|
|
status = models.BooleanField(default=True, verbose_name="状态")
|
|
parent_code = models.ForeignKey(
|
|
to="Area",
|
|
to_field="code",
|
|
db_column="parent_code",
|
|
on_delete=models.CASCADE,
|
|
db_constraint=False,
|
|
verbose_name="父级",
|
|
)
|
|
|
|
class Meta:
|
|
db_table = "areas"
|
|
verbose_name = "行政地区表"
|
|
ordering = ("id",)
|