Django 的菲律宾地理模型
项目描述
Django 的菲律宾地理模型
django-ph-geography提供了整合菲律宾地区、省、市和描笼涯的模型。
数据取自菲律宾统计局 (PSA) 于 2020 年 3 月 31 日发布的菲律宾标准地理代码 (PSGC) ( https://psa.gov.ph/classification/psgc/downloads/PSGC%20Publication%20March2020.xlsx )。
目录
安装
使用pip安装:
pip install django-ph-geography
将ph_geography添加到INSTALLED_APPS:
INSTALLED_APPS = [
...
'ph_geography',
]
将应用模型迁移到数据库:
python manage.py migrate ph_geography
加载初始数据:
python manage.py phgeofixtures
楷模
ph_geography.models.Region
区域模型。可用字段有:
code ( CharField<max_length=10, unique=True, null=False> ):地区的唯一地理代码。
name ( CharField<max_length=100, null=False)> ): 地区的地理名称。
人口(PositiveIntegerField<null=True>):基于 2015 POPCEN 的人口计数。空值意味着没有数据可用。
island_group ( CharField<max_length=1,choices=ISLAND_GROUP_CHOICES,null=False> ):区域所在的岛群。可能的值基于模型属性ISLAND_GROUP_CHOICES中的项目:
ISLAND_GROUP_LUZON ( 'L' ) - 吕宋岛
ISLAND_GROUP_VISAYAS ( 'V' ) - 维萨亚斯
ISLAND_GROUP_MINDANAO ( 'M' ) - 棉兰老岛
is_active ( BooleanField<null=False, default=True> ):切换区域是否处于活动状态 ( True ) 或不处于活动状态 ( False )。
ph_geography.models.Province
省示范。可用字段有:
code ( CharField<max_length=10, unique=True, null=False> ):地区的唯一地理代码。
name ( CharField<max_length=100, null=False)> ): 地区的地理名称。
人口(PositiveIntegerField<null=True>):基于 2015 POPCEN 的人口计数。空值意味着没有数据可用。
region ( ForeignKey<Region, related_name =' provinces', related_query_name ='province', null=False, on_delete=models.CASCADE> ):省所在地区。
income_class ( CharField<max_length=1, choice=INCOME_CLASS_CHOICES, null=False, blank=True> ):收入分类。空白值表示没有可用的数据。可能的值基于模型属性INCOME_CLASS_CHOICES中的项目:
INCOME_CLASS_1 ( '1' ) - 第一名
INCOME_CLASS_2 ( '2' ) - 第二
INCOME_CLASS_3 ( '3' ) - 第三
INCOME_CLASS_4 ( '4' ) - 第 4 名
INCOME_CLASS_5 ( '5' ) - 第 5 名
INCOME_CLASS_6 ( '6' ) - 第 6名
INCOME_CLASS_SPECIAL ( 'S' ) - 特别
is_active ( BooleanField<null=False, default=True> ):切换省份是否处于活动状态 ( True ) 或不 ( False )。
可用属性:
island_group:对Region字段island_group的引用。
ph_geography.models.Municipality
直辖市和城市的模型。可用字段有:
code ( CharField<max_length=10, unique=True, null=False> ):地区的唯一地理代码。
name ( CharField<max_length=100, null=False)> ): 地区的地理名称。
人口(PositiveIntegerField<null=True>):基于 2015 POPCEN 的人口计数。空值意味着没有数据可用。
省( ForeignKey<Province, related_name =' municipalities', related_query_name ='municipality', null=False, on_delete=models.CASCADE> ): 直辖市所在的省。
income_class ( CharField<max_length=1, choice=INCOME_CLASS_CHOICES, null=False, blank=True> ):收入分类。空白值表示没有可用的数据。可能的值基于模型属性INCOME_CLASS_CHOICES中的项目:
INCOME_CLASS_1 ( '1' ) - 第一名
INCOME_CLASS_2 ( '2' ) - 第二
INCOME_CLASS_3 ( '3' ) - 第三
INCOME_CLASS_4 ( '4' ) - 第 4 名
INCOME_CLASS_5 ( '5' ) - 第 5 名
INCOME_CLASS_6 ( '6' ) - 第 6名
INCOME_CLASS_SPECIAL ( 'S' ) - 特别
is_city ( BooleanField<null=False> ):切换以定义自治市是否为城市 ( True ) 或不是 ( False )。
is_capital ( BooleanField<null=False> ):切换以定义自治市是否为首都 ( True ) 或不是 ( False )。
city_class ( CharField<max_length=1, choice=CITY_CLASS_CHOICES, null=False, blank=True> ):城市法律分类。空白值表示没有可用的数据。可能的值基于模型属性CITY_CLASS_CHOICES中的项目:
CITY_CLASS_COMPONENT_CITY ( 'C' ) - CC
CITY_CLASS_INDEPENDENT_COMPONENT_CITY ( 'I' ) - ICC
CITY_CLASS_HIGHLY_URBANIZED_CITY ( 'H' ) - HUC
is_active ( BooleanField<null=False, default=True> ):切换自治市是否处于活动状态 ( True ) 或不 ( False )。
可用属性:
island_group:对Region字段island_group的引用。
region:参考省字段区域。
ph_geography.models.Barangay
描笼涯模型。可用字段有:
code ( CharField<max_length=10, unique=True, null=False> ):地区的唯一地理代码。
name ( CharField<max_length=100, null=False)> ): 地区的地理名称。
人口(PositiveIntegerField<null=True>):基于 2015 POPCEN 的人口计数。空值意味着没有数据可用。
自治市( ForeignKey<Municipality>, related_name =' barangays', related_query_name ='barangay', null=False, on_delete=models.CASCADE> ):barangay 所在的自治市。
is_urban ( NullBooleanField<null=False> ):切换以定义 barangay 是城市 ( True ) 还是农村 ( False )。空值意味着没有数据可用。
is_active ( BooleanField<null=False, default=True> ):切换 barangay 是否处于活动状态 ( True ) 或不 ( False )。
可用属性:
island_group:对Region字段island_group的引用。
省:参考直辖市字段省。
region:引用属性省字段区域。
猴子补丁
迁移模型并通过固定装置加载初始数据后,您可以使用提供的方法对django-ph-geography模型进行修补(如果您喜欢它)以满足您的需求:
添加新字段
您可以使用抽象模型类ph_geography.models.PhilippineGeography提供的自定义方法add_field向提供的模型添加字段。对抽象模型使用上述方法会将操作应用于所有子类。
例子:
from django.db import models
from ph_geography.models import PhilippineGeography
from ph_geography.models import Region
# Add field to Region, Province, Municipality, Barangay, and any subclass models of PhilippineGeography
PhilippineGeography.add_field('all_models', models.BooleanField(null=True))
# Add field 'single_model' to Region
Region.add_field('single_model', models.BooleanField(null=True))
删除现有字段
您可以使用抽象模型类ph_geography.models.PhilippineGeography提供的自定义方法remove_field将字段删除到提供的模型中。对抽象模型使用相同的方法会将操作应用于所有子类。
例子:
from ph_geography.models import PhilippineGeography
from ph_geography.models import Municipality
from ph_geography.models import Region
# Remove field to Region, Province, Municipality, Barangay, and any subclass models of PhilippineGeography
PhilippineGeography.remove_field('population')
# Remove field 'island_group' from Region
Region.remove_field('island_group')
# Multiple fields to remove are supported
Municipality.remove_field('is_city', 'is_capital')
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
django_ph_geography -1.0.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5777c00243131a1186ebea93521d6b4c6b9feceab5ca3ab453163a1d9b58f9f8 |
|
MD5 | 83278f340743a9be5eb9f597d620dca0 |
|
布莱克2-256 | abb9455e54b8c73b2ec71adada4d931bac50a0629facb15be2e5b19aa7cab710 |